抽象類與介面的區別

2021-08-18 07:41:55 字數 1096 閱讀 9824

抽象類:

1.用abstract關鍵字來修飾乙個類時,這個類叫抽象類,用abstract來修飾乙個方法時,該方法叫抽象方法。

2.含有抽象方法的類必須被宣告為抽象類,抽象類必須被繼承,抽象方法必須被重寫。

3.抽象類不能被例項化。

4.抽象方法只需要宣告,而不需要實現。

介面:1.介面是抽象方法和常量值的定義的集合。

2.從本質上講,介面是一種特殊的抽象類,這種抽象類只包含常量和方法的定義,而沒有變數和方法的實現。

3.介面中常量通常定義為static final的。

介面的特性:

1.介面可以實現多重實現,而繼承只能是單繼承。

2.介面中宣告的屬性預設為public static final(為什麼是static的,因為介面本質上是乙個抽象類,但是抽象類並不能例項化),也只能是public static final的。

3.介面中只能定義抽象方法,而且這些方法預設為public的,也只能是public的。

4.介面可以繼承其他的介面,並新增新的屬性和抽象方法。

5.多個無關的類可以實現同乙個介面。

6.乙個類可以實現多個無關的介面。

7.與繼承類似的是,介面與實現類之間存在多型性。

8.class a extends b implements c , d

**

package com.jack;

/** * 抽象類

* 抽象類中可以沒有抽象方法,但是含有抽象方法的類必須為抽象類

*/public abstract class test

}

package com.jack;

public inte***ce test

}inte***ce a extends test

/** * 多個類可以實現同一介面

*/class b implements test

}class c implements test

}/**

* 乙個類可以實現多個介面

*/class d implements test, a

}

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

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

抽象類與介面的區別

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

抽象類與介面的區別

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