【发布时间】:2012-03-30 10:55:36
【问题描述】:
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 定义了一个匿名类?以及他如何匿名引用 A.h() ?
【问题讨论】:
标签: java oop nested-class