介面與抽象類的區別

2021-10-24 21:26:03 字數 889 閱讀 7807

1、介面是多型的一種形式,可以制定規則,降低耦合度;介面的屬性,預設都是靜態方法,或者只是常量屬性,或者只是抽象方法,介面的方法都是抽象方法,如果要定義具體方法實現,此方法需要使用default修飾,介面中的方法訪問許可權不能是private,介面與介面之間可以實現多繼承,但不能互相實現,介面中不能存在構造方法

2、抽象類由abstract修飾,抽象類作用降低介面與介面實現類之間實現的難度,抽象類可以宣告抽象方法,也可以生成具體方法,抽象類生成抽象方法必須由子類進行重寫,抽象類有構造方法,但不能使用

3、相同點與不同點

1都不能被例項化,也就是說介面與抽象類都是多型的一種形式

2子類繼承抽象類時,子類必須重寫抽象類中所有抽象方法,否則子類也是抽象類

3介面類實現介面,實現類必須重寫介面所有抽象方法,否則實現類也是抽象類

*********************************************=

1.抽象類可以有構造方法,介面中不能有構造方法。

2.抽象類中可以有普通成員變數,介面中沒有普通成員變數

3.抽象類中可以包含非抽象的普通方法,介面中的所有方法必須都是抽象的,不能有非抽象的普通方法。

4. 抽象類中的抽象方法的訪問型別可以是public,protected和(預設型別,雖然

eclipse下不報錯,但應該也不行),但介面中的抽象方法只能是public型別的,並且預設即為public abstract型別。

5. 抽象類中可以包含靜態方法,介面中不能包含靜態方法

6. 抽象類和介面中都可以包含靜態成員變數,抽象類中的靜態成員變數的訪問型別可以任意,但介面中定義的變數只能是public static final型別,並且預設即為public static final型別。

7.乙個類可以實現多個介面,但只能繼承乙個抽象類。

介面與抽象類區別

介面是公開的,裡面不能有私有的方法或變數,是用於讓別人使用的,而抽象類是可以有私有方法或私有變數的,另外,實現介面的一定要實現介面裡定義的所有方法,而實現抽象類可以有選擇地重寫需要用到的方法,一般的應用裡,最頂級的是介面,然後是抽象類實現介面,最後才到具體類實現。還有,介面可以實現多重繼承,而乙個類...

介面與抽象類區別

1 從形態上 抽象類可以給出一些成員的實現,介面卻不包含成員的實現。抽象類的抽象成員可被子類部分實現,介面的成員需要實現類完全實現,乙個類只能繼承乙個抽象類,但可實現多個介面 2 類是對物件的抽象,抽象類是對類的抽象,介面是對行為的抽象。也就是說介面是對類的區域性 行為 進行的抽象,而抽象類是對整體...

介面 與 抽象類 區別

抽像類和介面 區別 首先抽象類 1.抽象類不能被例項化,但可以被申明 2.抽象類不一定包含抽像方法 3.一旦類包含了abstract 方法那麼這個類必須宣告 關鍵字 abstract 4.抽像放不放不能有主體就是方法體 5,但是抽象類可以擁有實現的方法 6.乙個類只能繼承乙個抽像類 其次 是介面,就...