課程
/后端開發(fā)
/Java
/Java入門第二季 升級(jí)版
?2、怎么使父類有參構(gòu)造方法中的age輸出?
2020-03-31
源自:Java入門第二季 升級(jí)版 9-7
正在回答
首先,你的父類Animal有void返回值 所以不是構(gòu)造函數(shù)(構(gòu)造函數(shù)沒有返回值);另外父類如果有帶參構(gòu)造函數(shù),那么此類就不會(huì)再提供默認(rèn)的無參構(gòu)造函數(shù)(除非顯示的寫出無參構(gòu)造函數(shù)),而這個(gè)時(shí)候,你的子類必須要有一個(gè)帶參構(gòu)造函數(shù)并且使用supper(supper必須放在構(gòu)造函數(shù)第一句,并且不能和this同時(shí)出現(xiàn))調(diào)用父類帶參構(gòu)造函數(shù),因?yàn)樽宇惱^承父類是先去父類里面找構(gòu)造函數(shù),其次去執(zhí)行子類的構(gòu)造函數(shù)。
你的Animal類的構(gòu)造參數(shù)都寫錯(cuò)了,不應(yīng)該有void返回值,如果有返回值系統(tǒng)會(huì)認(rèn)為是一個(gè)普通的方法,不是構(gòu)造方法,所以相當(dāng)于你沒有定義有參的構(gòu)造方法,那么默認(rèn)的無參方法依然存在。
慕粉giner
如果一個(gè)類沒有提供無參構(gòu)造器,在其子類構(gòu)造對(duì)象時(shí)會(huì)自動(dòng)生成一個(gè)無參構(gòu)造器;
但是如果你自己聲明了其他的構(gòu)造器,父類就不會(huì)聲明無參構(gòu)造器了
慕哥7131774 提問者
這個(gè)問題我冒昧回答一下,我的理解就是你可以理解你創(chuàng)建的父類其實(shí)他也有一個(gè)父類為Object,你沒有父類的無參構(gòu)造方法,是會(huì)默認(rèn)的調(diào)用Object的無參構(gòu)造方法,然后你寫的子類又調(diào)用Object的無參構(gòu)造,我是這樣理解的。僅供參考,我也是初學(xué)
舉報(bào)
課程升級(jí)!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會(huì)Java面向?qū)ο缶幊痰膴W妙
1 回答`為什么我把父類的無參構(gòu)造方法注釋了,子類的無參構(gòu)造方法還會(huì)執(zhí)行?
5 回答父類的構(gòu)造方法有參時(shí),子類無法繼承?
1 回答子類和父類的有參構(gòu)造方法
2 回答子類對(duì)象構(gòu)造時(shí),只能調(diào)用父類無參的構(gòu)造方法?
4 回答為什么把父類的變量改成靜態(tài)變量(父類中寫有帶參構(gòu)造方法),子類中無參的構(gòu)造方法是對(duì)的
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2020-06-12
首先,你的父類Animal有void返回值 所以不是構(gòu)造函數(shù)(構(gòu)造函數(shù)沒有返回值);另外父類如果有帶參構(gòu)造函數(shù),那么此類就不會(huì)再提供默認(rèn)的無參構(gòu)造函數(shù)(除非顯示的寫出無參構(gòu)造函數(shù)),而這個(gè)時(shí)候,你的子類必須要有一個(gè)帶參構(gòu)造函數(shù)并且使用supper(supper必須放在構(gòu)造函數(shù)第一句,并且不能和this同時(shí)出現(xiàn))調(diào)用父類帶參構(gòu)造函數(shù),因?yàn)樽宇惱^承父類是先去父類里面找構(gòu)造函數(shù),其次去執(zhí)行子類的構(gòu)造函數(shù)。
2020-04-12
你的Animal類的構(gòu)造參數(shù)都寫錯(cuò)了,不應(yīng)該有void返回值,如果有返回值系統(tǒng)會(huì)認(rèn)為是一個(gè)普通的方法,不是構(gòu)造方法,所以相當(dāng)于你沒有定義有參的構(gòu)造方法,那么默認(rèn)的無參方法依然存在。
2020-04-02
如果一個(gè)類沒有提供無參構(gòu)造器,在其子類構(gòu)造對(duì)象時(shí)會(huì)自動(dòng)生成一個(gè)無參構(gòu)造器;
但是如果你自己聲明了其他的構(gòu)造器,父類就不會(huì)聲明無參構(gòu)造器了
2020-04-01
為什么我把父類無參的構(gòu)造方法注釋了,子類無參的構(gòu)造方法沒有顯示錯(cuò)誤?
這個(gè)問題我冒昧回答一下,我的理解就是你可以理解你創(chuàng)建的父類其實(shí)他也有一個(gè)父類為Object,你沒有父類的無參構(gòu)造方法,是會(huì)默認(rèn)的調(diào)用Object的無參構(gòu)造方法,然后你寫的子類又調(diào)用Object的無參構(gòu)造,我是這樣理解的。僅供參考,我也是初學(xué)