1)Java學習筆記:接口和抽象類的異同

Java接口和抽象類很像,他們有哪些相同點和異同點呢,下面咱們作一個小結設計

相同

① 都不能被實例化,都位於繼承樹的頂端,用於被實現或者繼承
② 均可以包含抽象方法,實現接口或者繼承抽象類的普通子類都必須實現這些接口對象

差異

① 接口能夠規範調用者能夠調用哪些服務(對外),已經如何調用這些服務(方法簽名)
② 接口是多個模塊之間的耦合標準,當在多個應用程序之間使用接口,接口是應用程序之間的通訊標準繼承

③ 抽象類則不一樣,做爲多個子類的共同父類,體現的是一種模板式設計,能夠當成是系統實現過程當中的中間產品
④ 這個中間產品實現了系統的部分功能,可是這個產品依然不能成爲最終產品,必須有進一步的完善。接口

⑤ 接口只能包含方法簽名,不能提供實現,抽象類則徹底能夠實現普通方法
⑥ 接口裏不能定義靜態方法,而抽象類能夠定義靜態方法
⑦ 接口裏能夠定義靜態常量Field,可是不能定義普通Field;抽象類則能夠定義普通Field和靜態常量Field
⑧ 接口裏不包含構造器,抽象類則徹底能夠包含構造器;抽象類的構造器並非徹底用於建立對象,而是讓子類去調用指定構造器完成屬於本身的初始化方法
⑨ 接口裏不能包含初始化塊;但抽象類則徹底能夠包含初始化塊
⑩ 一個類能夠實現多個接口,可是隻能繼承一個父類產品

相關文章
相關標籤/搜索