天天看點

快速厘清抽象類與接口 | 帶你學《Java面向對象程式設計》之六十一

上一篇:一起來上一堂設計模式進修課 | 帶你學《Java面向對象程式設計》之六十

【本節目标】

通過閱讀本節内容,你将進一步了解抽象類和接口的相關概念,并能夠在實際應用中準确判斷使用抽象類或接口。

抽象類與接口的差別

在實際的開發之中可以發現抽象類和接口的定義形式是非常相似的,這一點從JDK1.8開始就特别明顯了,因為在JDK1.8裡面接口也可以定義default或static方法了,但是這兩者依然是有着明顯的定義差別的。

No. 差別 抽象類 接口
1 定義 abstract class 抽象類名稱{} interface 接口名稱{}
2 組成 構造、普通方法、靜态方法、全局常量、普通成員、static方法 抽象方法、全局常量、普通方法、static方法
3 權限 可以使用各種權限定義 隻能夠使用public
4 子類使用 子類通過extends關鍵字可以繼承一個抽象類 子類使用implements關鍵字可以實作多個接口
5 兩者關系 抽象類可以實作若幹接口 接口不允許繼承抽象類,但是允許繼承多個父接口
6 使用

1、抽象類或接口必須定義子類;

2、子類一定要覆寫抽象類或接口中的全部抽象方法;

3、 通過子類的向上轉型實作抽象類或接口對象執行個體化。

當抽象類和接口都可以使用的情況下,優先要考慮接口,因為接口可以避免子類的單繼承局限。

另外從一個正常的設計角度而言,也需要先從接口來進行項目的整體設計。

圖一 列舉各個結構的設計關系

想學習更多的Java的課程嗎?從小白到大神,從入門到精通,更多精彩不容錯過!免費為您提供更多的學習資源。

本内容視訊來源于

阿裡雲大學 下一篇:掌握接口,從這三則案例開始! | 帶你學《Java面向對象程式設計》之六十二 更多Java面向對象程式設計文章檢視此處