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 關鍵字呼叫父類構造器,系統會自動呼叫父類的無參構造器,
感謝
百度百科
萬能的網路
以及勤勞的自己
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/181232.html
標籤:Java
上一篇:Java還是真香啊!
