抽象類與介面的區別

2021-07-28 23:28:24 字數 521 閱讀 4665

實際沒什麼意義,但面試中經常出現。

抽象類和介面的區別:

a:成員區別

抽象類:

成員變數:可以是常量(final修飾),也可以是變數。

構造方法:有

成員方法:可以是抽象方法,也可以是具體方法

介面:成員變數:只能是常量(public static final)

構造方法:沒有

成員方法:只能是抽象方法(public abstract)

b:關係區別

類與類:

繼承關係,只能是單繼承,可以多層繼承

類與介面:

實現關係,只能是單實現,也可以多實現

並且還可以在繼承乙個類的同時,實現多個介面

介面與介面:

繼承關係(不是實現關係,介面不能提供實現),可以單繼承,也可以多繼承

c:設計理念區別(重要,什麼時候繼承,什麼時候用介面)

抽象類:被繼承體現的是「is a」的關係 ——共性功能

介面:被實現體現的是「like a」的關係——擴充套件功能

java抽象類與介面的區別抽象類與介面的特性是什麼

介面和抽象類的概念不一樣。介面是對動作的抽象,抽象類是對根源的抽象。抽象類表示的是個物件,什麼物件。介面表示的是物件的功能,能做什麼。舉個例子 男人 物件 和女人 物件 這兩個類 物件 他們可以抽象為人。公貓和母貓可以抽象為貓。人可以吃飯,可以睡覺,貓呢也可以吃飯和睡覺,那麼這個 吃飯 睡覺 就是某...

抽象類與介面的區別

c 中可以多繼承介面,卻只能繼承自乙個抽象類 抽象類中的方法可以包含一些實現,但介面卻只能定義方法的一種規範,不能包含實現 繼承類必須實現藉口中所有的方法,而不一定要實現抽象類中的所有方法 抽象類可以繼承自抽象類 但介面不能繼承自介面 派生類必須實現未實現的方法,抽象類是抽象方法,介面則是所有成員 ...

抽象類與介面的區別

c 中可以多繼承介面,卻只能繼承自乙個抽象類 抽象類中的方法可以包含一些實現,但介面卻只能定義方法的一種規範,不能包含實現 繼承類必須實現藉口中所有的方法,而不一定要實現抽象類中的所有方法 抽象類可以繼承自抽象類 但介面不能繼承自介面 派生類必須實現未實現的方法,抽象類是抽象方法,介面則是所有成員 ...