Java 允许您在匿名类中声明新字段,但我不知道如何从外部访问它们,即使将它们设置为 public 也不允许我这样做。
class A {
public static void main(String[] args) {
Object o = new Object() {
public int x = 0;
{
System.out.println("x: " + x++);
System.out.println("x: " + x++);
}
};
System.out.println(o.x);
}
}
我得到这个编译器错误:
$ javac A.java && java A
A.java:10: cannot find symbol
symbol : variable x
location: class java.lang.Object
System.out.println(o.x);
^
1 error
为什么?