Java繼承與實現


前言

想到繼承與實現,就一定會聯想到抽象類與接口,本文就以抽象類與接口為入口進行簡單概括,同時對繼承與實現進行擴展小結。


普通類與抽象類

1. 抽象類存在的意義

為了復用該類的方法,即多態的實現,(一脈相承,照單全收)

2. 區別

相較於普通類多了一個抽象方法,(不可被static,final修飾)修飾權限只能為(public或protected)

由於不能new抽象類,所以構造方法只能提供子類調用

3. 優勢

可強制性規范寫法,明確需要覆蓋的方法

4. 擴展

為什么是單繼承多實現?

舉個例子:

A有方法eat(),B和C繼承並重寫了A的eat()

假如,此時D多繼承了B和C,就會導致eat()方法同名

然而,實現則是每次都會對方法重寫(確保都在B,C層級上),即使B,C接口都有eat()方法,也只重寫一個

繼承用法

繼承可用在對原有類的擴展上,比如一張數據表定義完后,后期需要對該表功能進行擴充,即可使用繼承來添加新的字段。


抽象類與接口

1. 接口存在的意義

增強代碼的擴展性,取其精華去其糟粕(東拼西湊)

2. 區別

抽象類的再抽象

由(public static)常量和(public abstract)抽象方法組成

JDK1.8后可以定義默認的實現方法

沒有構造方法(類與接口的區別,單繼承與多實現的區別)

3. 優勢

精確擴展功能,不會把不需要的方法或變量也繼承下來

4. 擴展

需要新功能時,只需要新添加一個接口,實現該接口即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM