抽象類介面區別和相同點

2021-08-21 21:12:06 字數 546 閱讀 4821

介面和抽象類都不能例項化

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

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

抽象類中可以包含非抽象的普通方法

抽象類中的抽象方法的訪問型別可以是public,protected,但介面中的抽象方法只能是public型別的,並且預設即為public abstract型別。

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

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

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

抽象類裡面的方法子類必須全部實現嗎,可不可以有不實現的方法,介面呢?

抽象類不一定,子類只會實現父類裡的抽象方法,抽象類裡可以有抽象方法也可以非抽象方法,子類不需要再去實現非抽象方法,如果子類一定要再次實現的話就叫做覆蓋了

介面裡的方法必須全部實現,因為介面裡的方法都是抽象的,預設都是public abstract

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

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

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

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

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

今天偶爾看到以前的筆記,所謂溫故而知新所以記錄一下,以便以後查閱。抽象類和介面的相同點和不同點 相同點 1.都不能被直接例項化,都可以通過繼承實現其抽象方法 2.都是物件導向的技術基礎,實現了諸多設計模式 不同點 1.介面支援多繼承,抽象類不能實現多繼承。2.介面只能定義抽象規則,抽象類即可以定義抽...