Java--Java的繼承性


Java--Java的繼承性

博客說明

文章所涉及的資料來自互聯網整理和個人總結,意在於個人學習和經驗匯總,如有什么地方侵權,請聯系本人刪除,謝謝!

說明

繼承是java面向對象編程技術的一塊基石,因為它允許創建分等級層次的類。
繼承就是子類繼承父類的特征和行為,使得子類對象(實例)具有父類的實例域和方法,或子類 從父類繼承方法,使得子類具有父類相同的行為。

繼承是多態的前提

繼承的關系

所以繼承需要符合的關系是:is-a,父類更通用,子類更具體。

繼承的特性

子類擁有父類非 private 的屬性、方法。
子類可以擁有自己的屬性和方法,即子類可以對父類進行擴展。
子類可以用自己的方式實現父類的方法。

繼承類型

需要注意的是 Java 不支持多繼承,但支持多重繼承。

1.單繼承

單繼承就是一個子類只能繼承一個父類

2.多重繼承

多重繼承就是,例如 A 類繼承 B 類,B 類繼承 C 類,所以按照關系就是 C 類是 B 類的父類,B 類是 A 類的父類,這是 Java 繼承區別於 C++ 繼承的一個特性。

3.不同類繼承繼承同一個類

繼承的優缺點

1.優點:提高了代碼的復用性,節省了編輯重復代碼的時間,便於開發的時間節儉

2.缺點:提高了類之間的耦合性(繼承的缺點,耦合度高就會造成代碼之間的聯系越緊密,代碼獨立性越差)。

繼承關鍵字

繼承可以使用 extends 和 implements 這兩個關鍵字來實現繼承,而且所有的類都是繼承於 java.lang.Object,當一個類沒有繼承的兩個關鍵字,則默認繼承object(這個類在 java.lang 包中,所以不需要 import)祖先類。

1.extends關鍵字

在 Java 中,類的繼承是單一繼承,也就是說,一個子類只能擁有一個父類,所以 extends 只能繼承一個類。

public class Student extend Base{}

2.implements關鍵字

使用 implements 關鍵字可以變相的使java具有多繼承的特性,使用范圍為類繼承接口的情況,可以同時繼承多個接口(接口跟接口之間采用逗號分隔)。

3.super 與 this 關鍵字

super關鍵字:我們可以通過super關鍵字來實現對父類成員的訪問,用來引用當前對象的父類。
super()必須放在子類構造方法的第一行
this關鍵字:指向自己的引用。

4.final關鍵字

final 關鍵字聲明類可以把類定義為不能繼承的,即最終類;或者用於修飾方法,該方法不能被子類重寫:

構造器

1.子類是不繼承父類的構造器(構造方法或者構造函數)的,它只是調用(隱式或顯式)。如果父類的構造器帶有參數,則必須在子類的構造器中顯式地通過 super 關鍵字調用父類的構造器並配以適當的參數列表。

2.如果父類構造器沒有參數,則在子類的構造器中不需要使用 super 關鍵字調用父類構造器,系統會自動調用父類的無參構造器。

感謝

百度百科

萬能的網絡

以及勤勞的自己


免責聲明!

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



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