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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

父類中的構造方法是有參的,子類在調用時會出錯怎么辦???

父類中的構造方法是有參的,子類在調用時會出錯怎么辦???

愛編程的男孩 2016-07-13 19:10:05
package?com.imooc; public?class?zilei?extends?hello?{ ?{ ??super.hello(); ??System.out.println("成功了"); ?} }
查看完整描述

5 回答

?
喬幫主

TA貢獻184條經驗 獲得超67個贊

既然有參,你在調用的時候就應該講對應的參數傳遞過去??!不然就會報錯唄!你在調用父類構造方法的時候,將參數加上去試試唄!

查看完整回答
6 反對 回復 2016-07-13
已采納
?
XhstormR

TA貢獻140條經驗 獲得超197個贊

父類:

class?Test2?{
????Test2(int?num)?{
????????System.out.println("有參構造方法");
????}
}

子類:

class?Test1?extends?Test2?{
????Test1(int?num)?{
????????super(num);
????????System.out.println("成功了");
????}
}

多的就不說了,這你應該看的懂,望采納。

查看完整回答
1 反對 回復 2016-07-14
?
BeingTowards

TA貢獻2條經驗 獲得超2個贊

你創建一個父類的話 ?如果沒有顯式的創建構造方法不管有參還是無參的 ?則編譯器會為該類創建一個隱式的無參的構造方法 ? ?如果你創建了一個帶參的構造方法 ?則編譯器就不會為該類創建一個隱式的無參構造方法 ?此時就需要你顯式的創建一個無參的構造方法 ?一般父類都需要顯式的創建無參構造方法 ?用于子類初始化對象調用。

查看完整回答
反對 回復 2016-07-14
?
_小_七_

TA貢獻29條經驗 獲得超13個贊


這涉及到繼承問題 你可以重構方法 或者覆蓋

查看完整回答
反對 回復 2016-07-13
?
yanrun

TA貢獻317條經驗 獲得超240個贊

把父類的代碼和報錯信息貼出來, 如果你要調用父類的構造方法也不是這么調用。

public?zilei()?{
????super();
}


查看完整回答
反對 回復 2016-07-13
  • 愛編程的男孩
    愛編程的男孩
    我重新弄了一下,發現必須子類和父類的參數列表必須相同,當父類是有參構造方法時,子類必須要寫super(參數列表);才可以對嗎?
  • yanrun
    yanrun
    對的,如果父類中沒有無參的構造方法,而在子類中調用super()就相當于調用了一個沒有定義的方法,會報錯
  • 5 回答
  • 0 關注
  • 2755 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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