[問題] 繼承會自動叫父類的建構式

看板java作者 (好累)時間18年前 (2007/06/02 00:53), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
各位高手你們好, 我知道我很龜毛問這個沒什麼意義的問題, 但我還是想知道為什麼@@" 問題如下: 有2個class calss Father{ Father(){ System.out.println("A"); } } class Son extends Father{ Son(){ System.out.println("B"); } } 執行: Son son = new Son(); 書上說執行結果為: A B 因為子類別建構式那會自動有"super();"這行來呼叫父類別建構子。 ---------------------------------------------------------------------- 另一個程式如下: class Father { Father(char c){ System.out.println(c); } } class Son extends Father{ Son(){ ★ this('A'); System.out.println("B"); } Son(char c){ super(c); } } public class Extends5 { public static void main(String[] args) { Son son = new Son(); } } 執行結果為: A B 那為什麼結果不會是在上面★這個地方因為要自動呼叫父類建構子super(); 而產生編譯錯誤呢? 非常感謝回答的高手, 因為我觀念好像都學的不太清楚。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.217.160.56
文章代碼(AID): #16O4y6s2 (java)
文章代碼(AID): #16O4y6s2 (java)