亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

子類構造函數必須調用父類的構造函數,但是如果構造函數有多個到底是調用哪個呢?如果子類有顯式調用父類構造函數,是不是就是說父類不管有沒有無參構造函數都不會報錯嗎?

正在回答

3 回答

1.如果子類未顯示調用父類構造函數,則默認只會調用父類無參的構造函數

2.如果子類有顯式調用父類構造函數,則只會調用指定的父類構造函數,父類可以沒有無參構造函數

1 回復 有任何疑惑可以回復我~
#1

初見4071

老師你的意思是說子類里只要是有構造方法,那就是默認調用父類無參的構造方法么?那要是父類沒有構造方法,系統會默認么??
2014-09-24 回復 有任何疑惑可以回復我~

1.當子類中隱式調用父類的構造方法,(即不寫super();),則默認調用父類中的無參構造方法

2.當子類中隱式調用父類的構造方法,而父類中沒有無參的構造方法,如只有有參的構造方法,則系統會報錯

3當我們在創建父類對象,在main方法中用的是有參的的構造即:Animal a=new Animal(10);

在父類中我們創建一個有參的構造方法:

public Animal(int age1){

System.out.println("父類的構造方法執行了!!!!!");

System.out.println(age1);

在子類中我們調用super(10);

當程序運行時,我們調用的就是父類中有參的構造方法了。

最后糾正一下,java中只有方法,沒有函數的叫法。


1 回復 有任何疑惑可以回復我~

3.當父類中寫了有參構造函數,則父類默認的無參構造函數被覆蓋。此時子類必須顯式在構造函數里調用父類的有參構造函數【super(參數)放構造函數第一句】。

建議:當父類有參構造函數時,建議寫上無參構造函數。

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學習       531142    人
  • 解答問題       6326    個

課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙

進入課程
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號