抽象類和介面的相同點和不同點,學習筆記

2021-08-01 08:54:01 字數 746 閱讀 2162

抽象類和介面的相同點:

1.都不能被例項化

2.介面的實現類或抽象類的子類都只有實現了介面或抽象類中的方法後才能被例項化

不同點:

1.介面只有定義,其方法不能再介面中實現,只有實現介面的類才能實現介面中定義的方    法,而抽象類的方法可以再抽象類中被實現。

2.介面需要用implements實現,抽象類只能被繼承(extends)。

3.設計理念不同,介面是"has - a ",抽象類是"is -a "

4.介面中定義的成員變數預設修飾符為public static final(靜態不能被修改),而且必須      給其賦初值。抽象類可以有自己的資料成員變數,也可以有非抽象的成員變數,而且抽象類中的成員變數預設為default(本包可見)。抽象類中的方法前面有abstract修飾,不能用private、static、synchronize、native修飾,同時方法必須以分號結尾,不帶花括號。

為了方便理解,加入一段**方便理解介面

inte***ce person方法體括號,否則會報錯

public void bodylength();

}public class inte***cefacedemo01 implements person

@override

public void bodylength()

public static void main(string args)

}

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

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

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

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

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

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