抽象類和介面的比較

2021-08-18 02:03:34 字數 417 閱讀 5931

介面和抽象類是非常相似的,但是他們之間是有區別的,主要區別一下幾個方面:

1、乙個類可以實現眾多個介面,但是只能繼承乙個抽象類,可以說介面是取消程式語言中的多繼承機制的乙個衍生物,但是不完全如此

2、抽象類可以有非抽象方法,既可以有已經實現的方法,繼承他的子類可以對方法進行覆寫;而介面中定義的餓方法必須全部為抽象方法。

3、在抽象類中定義的方法,他們的修飾符可以是public、protected、private。也可以是預設值;但是介面中定義的方法全是public,並且預設public abstract。

4、抽象類可以有建構函式,介面不能,兩者都不能例項化,但是都能通過他們來存放子類物件或實現類的物件,可以說都可以實現多型

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

6、抽象類可以有普通成員變數,而介面不能有。

抽象類和介面的比較

1.抽象類 是一種特殊的類,具有以下特點 a 抽象方法只作宣告,而不包括實現,可以是看成沒有實現體的虛方法。b 抽象類不能被例項化,除此之外,具有類的其他特性。c 抽象類可以但不是不惜具有抽象方法和抽象方法,但是一旦有了抽象方法,就一定要把這個類宣告為抽象類。d 具體派生類必須覆蓋抽象類的抽象方法。...

抽象類和介面的比較

包含乙個抽象方法的類必須是抽象類 抽象類和抽象方法都要使用abstract關鍵字宣告 抽象方法只需要宣告而不需要實現 抽象類必須被繼承,子類 如果不是抽象類 必須覆寫抽象類中的全部抽象方法 注意 抽象方法不要用private宣告,如果使用private宣告,子類將無法覆寫 ps 抽象類允許構造方法,...

抽象類和介面的比較

因為乙個類只能有乙個父類,所以提出介面,可以為一些小眾的共性作出補充。區別 1.介面可以多重繼承 繼承多個介面 類不可以多重繼承 類可以實現多個介面,但類只能繼承乙個類。2.抽象類成員變數型別不限,介面中的成員變數只能是public static final的 且必須顯式初始化 3.抽象類可以定義非...