推 muchwhy:聽說 superclass的constructor不會被extend到subclass裡面 04/24 23:04
可是還是想問
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