Re: [問題] 匿名內部類別的建構函數怎麼用?
推 ozone:剛試了一下 initializer似乎是跑在constructor前面的?! 05/04 02:18
instance initializer 與 field initializer 都是由編譯器 insert/inline 到每一
個 constructor 裡最前面(after super constructor invocation)。
class Bar {
public Bar(int n){}
}
class Foo extends Bar {
String name = "A";
{
name = "B";
}
public Foo() {
super(0);
name = "";
}
public Foo(String s) {
super(0);
name = s;
}
}
編譯出來的 class bytecode 會等同於(以 sun's Java Compiler 來說):
class Foo extends Bar {
String name;
public Foo() {
super(0);
name = "A";
name = "B";
name = "";
}
public Foo(String s) {
super(0);
name = "A";
name = "B";
name = s;
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.173.138.198
推
05/04 11:10, , 1F
05/04 11:10, 1F
推
05/04 11:58, , 2F
05/04 11:58, 2F
推
05/04 12:00, , 3F
05/04 12:00, 3F
→
05/04 14:19, , 4F
05/04 14:19, 4F
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):