介面與抽象類的比較

2021-09-25 20:06:39 字數 687 閱讀 9605

介面的所有方法都是抽象方法,成員變數都是static final 型別的。

只要包含的乙個方法被宣告為抽象的類,那麼這個類必須被宣告為抽象類,抽象類不能被例項化。抽象類的子類除非也是也是抽象類,否則必須實現父類中所有的抽象方法。抽象類可以對抽象方法給出方法體的具體實現,但是介面不能。

抽象類中的抽象方法不能使用 static \ private \ native \ synchronized等修飾

1)都不能被例項化。

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

1)介面方法只有定義,不能給出方法的具體實現。抽象類可以有抽象方法,也可以有一般方法,一般方法可以有方法實現體。

2)介面需要實現(implements),抽象類需要繼承(extends),乙個類可以實現多個介面,但是只能繼承乙個抽象類。

3)介面中成員變數預設都是public static final的型別,方法都是public abstract;抽象類可以有自己的資料成員變數,抽象方法和非抽象方法。成員變數預設都是default的型別。

介面與抽象類

介面與抽象類區別 個人總結 語法結構 1 型別可以繼承多個介面,但是只能繼承乙個抽象類,即不支援多重繼承。2 介面可以用於值型別和引用型別,例如struct和class,而抽象類不能用於值型別,只能用於引用型別。3 抽象類定義可以包括建構函式,字段資料,非抽象成員 具體實現 等,而介面只能包括抽象成...

介面與抽象類

抽象類 當抽象類作為父類時,他的子類對其中的抽象類方法有不同的方法體 簡單舉例為 classhorse mammal,ilangbound public int numeroflegs return 4 inte ce ilandbound int numberoflegs 介面例子 main函式 ...

抽象類與介面

記住抽象類與普通類的唯一區別就是不能建立例項物件和允許有abstract 方法含有abstract 修飾符的 class 即為抽象類,abstract 類不能建立的例項物件。含有 abstract 方法的類必須定義為 abstract class abstract class 類中的方法不必是抽象的...