public class A {
protected int x;
public A(int x) { this.x = x; }
public void g() { System.out.println(x); }
public void h() { System.out.println(x + 10); }
}
public class B {
public void f() {
(new A(2) {
public void g() {
h();
}
}).g();
}
}
public static void main(String[] args) {
new B().f();
}
一些機構可以幫我瞭解這一行代碼:嵌套類匿名類
new A(2) { public void g() {h();} }).g();
如果他用在這裏定義一個匿名類,我不明白?以及他在匿名時如何參考A.h()?
所以A(2)這裏是不是新類的名稱,它是對非名稱類不重寫一個父類?請糾正我 – nabil 2012-03-30 11:06:26
A(2)意味着這個新的匿名類同時被構造函數參數2實例化。 – jabal 2012-03-30 11:08:06