java繼承——《子類無法繼承父類的構(gòu)造方法》

在java繼承中對繼承的權(quán)限有這樣的解釋:

1.子類可以繼承父類中訪問權(quán)限修飾符為public和protected的屬性和方法;

2.子類可以繼承父類中用默認訪問權(quán)限修飾的屬性和方法,但子類和父類必須在同一個包中;

3.子類無法繼承父類中訪問權(quán)限修飾符為private的屬性和方法;

4.子類無法繼承父類的構(gòu)造方法。


針對第四點作出如下解釋:

子類不可以繼承父類的構(gòu)造方法,只可以調(diào)用父類的構(gòu)造方法。

子類的構(gòu)造函數(shù)第一行都會使用默認的super()語句,默認訪問父類中的空參數(shù)構(gòu)造函數(shù)。在Java中,任何class的構(gòu)造方法,第一行語句必須是調(diào)用父類的構(gòu)造方法。如果沒有明確地調(diào)用父類的構(gòu)造方法,編譯器會幫我們自動加一句super()。

super()方法的作用是在子類初始化時調(diào)用父類的空參數(shù)構(gòu)造函數(shù)來完成初始化。

因此如果當(dāng)子類中沒用使用super()方法調(diào)用父類時,編譯過程中會報錯:

constructor Truck in class Truck cannot be applied to given types;

//構(gòu)造函數(shù)Truck在Truck類中不能被應(yīng)用于指定類型;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容