2008年6月24日 星期二

JAVA constructor & initial block

constructor沒有return value (連void都沒有)
有的話,就算是同名,也不是constructor

constructor可以為private或任何modifier
不過若為private,則在外面就不能用這個constructor

constructor裡面
this()或super()只能放在第一行
而且不能同時出現在同一個constructor

在有父類別的情況下
如果兩個都沒有,compiler會偷偷插入一個super()在最前面
這時如果父類別沒有default constructor就會錯誤!

constructor不能access static member?

initial block:

static的順序
照著放置先後順序

instance block順序
super() -> block 或express 照先後順序 -> 其他constructor

沒有留言: