看板 b94902HW 關於我們 聯絡資訊
可是還是想問 class A{ A(int x){...} } class B extends A{ int t=3; B(){ this(0); } B(int x){ ... } } 降 那當我在宣告 B test=new B(); 的時候 B還會跑到A的constructor 也就是super();裡嗎?? 那順序是怎樣呢 之前我在想應該是 B()->super()->this(0)(也就是呼叫B(0))->...-> 還有 如果是降的話設定B的初值是發生在哪個步驟呢 是在呼叫完super回到B之後還是在呼叫了B(0)之後?? 還有 在跑到B(0)的地方的時候 還會再呼叫一次super()嗎 還是從頭到尾都不會呼叫super()?? 然後問題又來了XD 因為在A裡面沒有宣告super()而只有宣告super(int x) 那如果B建立的時候會呼叫到A的建構子 降不就找不到相對應的建構子 也就是super()了嗎 還是說找不到就不找了 或者是如果沒有寫compiler就會自己建一個?? 大概是降 有人看得懂我在說啥嗎XD 麻煩強者回答一下啦~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.203.49.63
muchwhy:聽說 superclass的constructor不會被extend到subclass裡面 04/24 23:04