看板 java 關於我們 聯絡資訊
※ 引述《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