Re: Constructor與class的繼承

看板java作者 (..)時間19年前 (2006/07/07 16:26), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《oishii (喔帥)》之銘言: : 我想請教一個問題,如果母類別沒有no args的constructor,如下 : class A{ : A (String s){} : } : 他的子類別 class B extends A ,理論上不會有default constructor : 必須自己定義,是這樣子嗎? 如果是話,假設我自己定義一個constructor如下 class B是有default constructor的...default constructor 只要在你沒自行定義 constructor時,就會產生,而你這裡的問題在於,父類別的建構子是有引數的, 而在class B的建構子中(不論是default或是user define)並沒有輸入一個符合父類 別建構子引數的super()呼叫,因為,每個建構子的第一行都會呼叫super(),沒打的 話會以預設的super()也就是沒有引數的,因為在你的問題中你的父類別的建構子是 有引數的,所以compile會出現錯誤 : class B extends A{ : B() {} : } : 這樣子似乎是無法compile,因為沒有super()存在,不過這樣就可以 : B(){ super(new String());} : ,那麼我想請問的是,在B的建構子中,如果不自己寫的話,有辦法去呼叫A的建構子嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.39.173.66
文章代碼(AID): #14hXh2tj (java)
文章代碼(AID): #14hXh2tj (java)