2 介面和抽象類的相同點和區別

2021-09-25 12:51:18 字數 516 閱讀 7245

一 介面和抽象類的相似性

1 、都不能被例項化

2 、都可以包含抽象方法

二 介面和抽象類的區別

1 、介面:對動作的抽象,是設計的結果

抽象類:對根源的抽象,是重構的結果

2、介面:只能做方法的申明,用public修飾;

抽象類:可以做方法的申明,用abstract修飾,也可以做方法的實現

3、介面:只能定義靜態常量;

抽象類:可以定義普通成員變數,也可以定義靜態常量。

3、 介面:不能包含構造器;

抽象類:可以包含構造器,抽象類裡的構造器並不是用於建立物件,而是讓其子類呼叫這些構造器來完成屬於抽象類的初始化操作。

4 、介面:不能包含初始化塊;

抽象類:可以包含初始化塊。

5 、介面:乙個類可以直接實現多個介面

抽象類:乙個類最多只能有乙個直接父類,包括抽象類

6、如果乙個類裡有抽象方法,那麼這個類只能是抽象類

7、抽象方法要被實現,所以不能是靜態的,也不能是私有的

抽象類介面區別和相同點

介面和抽象類都不能例項化 抽象類可以有構造方法,介面中不能有構造方法。抽象類中可以有普通成員變數,介面中沒有普通成員變數 抽象類中可以包含非抽象的普通方法 抽象類中的抽象方法的訪問型別可以是public,protected,但介面中的抽象方法只能是public型別的,並且預設即為public abs...

抽象類和介面的相同點和不同點

抽象類和介面 相同點 都不能被例項化,位於繼承樹的頂端,都包含抽象方法 不同點 1 設計目的 介面體現的一種規範,類似與整個系統的總綱,制訂了系統各模組應該遵循的標準,因此介面不應該經常改變,一旦改變對整個系統是輻射性的。抽象類作為多個子類的共同父類,體現的是一種模板式設計,可以當作系統實現過程中的...

介面與抽象類的相同點和不同點

相同點 都不能被直接例項化,都可以通過繼承實現其抽象方法。都是面向抽象程式設計的技術基礎,實現了諸多的設計模式。不同點 介面支援多繼承 抽象類不能實現多繼承。介面只能定義抽象規則 抽象類既可以定義規則,還可能提供已實現的成員。介面是一組行為規範 抽象類是乙個不完全的類,著重族的概念。介面可以用於支援...