類的繼承是存在局限性的,一個 子類只能繼承一個父類,但是可以多重繼承,多重繼承就是先讓B類繼承A類,之后再讓C類繼承B類,
calss A{} //這是父類
class B extends Af{; //此時 B類具備了A的操作
class C extends B{}; //此時 C類有A類和B類的所有操作
DEMO:多重繼承


此時C類就繼承了A類和B類的屬性以及方法,其實上在實體化子類的時候會呼叫父類的構造方法(雖然子類不能繼承父類的構造方法,但是在實體化子類的時候會默認呼叫),而且默認呼叫的是無參構造方法,
DEMO:呼叫父類的構造方法

通過上面的錯誤提示就可以知道實體化子類的時候一定要先呼叫父類的構造方法,默認呼叫的是無引數構造方法,此時如果提供了有引數構造方法,那么我們要將無引數構造方法顯示的定義,
DEMO:無參構造方法呼叫


知道了實體化子類的時候需要呼叫父類的無參構造方法,如果要呼叫父類的有引數構造方法呢?此時需要使用到一個新的關鍵 字“super
DEMO:呼叫有引數構造方法



以上就是構造方法在子類和父類之間呼叫的關系,你要清楚,
總結:
1、繼承有單繼承的局限(一個子類只能有一個父類),但是可以多重繼承
2、在實體化子類的時候會先呼叫父類的構造方法(默認呼叫的是無引數構造,如果要呼叫有引數構造需要使用關鍵字super實作)
3、如果是多重繼承,那么實體化子類的時候最先呼叫的是最高父類的構造方法,依次往下
有完整的Java初級,高級對應的學習路線和資料!專注于java開發,分享java基礎、原理性知識、JavaWeb實戰、spring全家桶、設計模式、分布式及面試資料、開源專案,助力開發者成長!
歡迎關注微信公眾號:碼邦主

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/240358.html
標籤:其他
上一篇:碰見過Spring Boot集成Redis這個坑嗎?昨天差點沒把我帶走!
下一篇:python 生成器 & 迭代器
