抽象類與介面的定義與區別

2021-07-02 07:09:03 字數 983 閱讀 1820

如果乙個類中沒有包含足夠的資訊來描述乙個具體的物件,這樣的類就是抽象類。

抽象類的作用:1.包裝一組行為的抽象描述。

2.禁止某個類的例項化。

類宣告前增加關鍵字abstract,則宣告該類為抽象類。

注意:1.抽象方法的訪問控制符不能是privat的。那麼抽象類(父類)的引用是無法訪問private的成員的。

2。抽象方法也不能是靜態的。

介面是某些通用規則的集合體。介面有助於程式設計人員擺脫底層具體實現的困擾,更關注於程式的框架設計。

介面是一般行為的定義和契約。介面是高層次,它著重考慮需要的功能,而具體實現細則交給具體的介面的實現類。

介面的特徵:

1.介面中的成員變數都是public、static、final型別的(都可省略),必須被顯示初始化,即介面中的成員變數為靜態常量。

2.介面中方法預設都是public、abstract型別的(都可省略),沒有方法體,不能被例項化。

3.介面中只能包含public、static、final型別的成員變數和public、abstract型別的成員方法。

4.介面中沒有構造方法,不能被例項化。

5.乙個介面不能實現(implements)另乙個介面,但它可以繼承(extends)多個其他的介面。

6.介面必須通過類來實現它的抽象方法。

7.當類實現了某個介面時,它必須實現介面中的所有抽象方法,否則這個類必須宣告為抽象的。

8.不允許建立介面的例項(例項化),但允許定義介面型別的引用變數,該引用變數指向實現了這個介面的類的物件。

9.乙個類只能繼承乙個直接的父類,但可以實現多個介面,間接地實現了多繼承。

介面和抽象類的區別:

1.抽象類可以包含某些實現**,但介面沒有任何實現部分。

2.抽象類可以包含成員變數而介面沒有。

3.抽象類可以有構造方法,而介面沒有。

4.抽象類可以繼承自其它類和介面而介面僅僅能繼承自介面。

5.介面支援多繼承而抽象類僅僅支援單繼承。

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

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

抽象類與介面的區別

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

抽象類與介面的區別

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