Re: [問題] 繼承和建構子

看板java作者 (不務正業工程師)時間19年前 (2006/07/15 14:28), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/5 (看更多)
※ 引述《sioo (加油加油)》之銘言: : ※ 引述《sioo (加油加油)》之銘言: : : 不好意思,我不太了解.. : : 如果我在A裡面沒有寫任何建構子,不是應該要自動產生一個無參數的就構子嗎? : : 還是說一個類別要被別人繼承的時候,它就一定要有一個無參數的建構子 : : 謝謝您的回答 : 請問這種說法對嗎? : 如果子類別的建構子沒有使用super來呼叫父類別的建構子 : 則compiler會自動幫子類別去呼叫父類別的無引數的建構子 : 可是當我B類別裡面沒去呼叫A類別的建構子,compiler自動幫我呼叫時 : 因為A類別裡面我沒有任何的建構子,compiler不是應該自動幫我產生一 : 個無參數的建構子嗎 : 因此我還是搞不懂為什麼A類別裡面要自己去寫一個無參數的建構子 你說的沒錯...當你沒有為 A 做一個建構子時 它是會自動幫你做一個沒有參數的建構子 但你在 A 的 Class 中,幫它做了一個 A(int num)的建構子了 所以編譯時並不會再幫你做一個無參數的建構子 而你在 B 中,雖然繼承了 A,但建構子 B(int num)中卻沒加上super 所以它還是幫你去呼叫了 super() 我想,你可能必須自己呼叫 super(num) 才能編譯成功吧!!! -- ◤城市.角落◢「簡單的說,這座城市一點都不美。幸好有某些傻瓜存在。」         ID:CHIEN-HSIANG  工作只是生活的輔助,而不是全部         Basketball - Program - Read - Movie - Lifeful         ◎職業:不務正業工程師 Java DotNet System Analyse & Design -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.0.243
文章代碼(AID): #14k8hqUB (java)
文章代碼(AID): #14k8hqUB (java)