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