这是主意:
public class Parent {
private String name;
static class Child extends Parent {
void hello() {
System.out.println(name); /*error: Non static field name cannot be referenced from static context */
}
}
}
我知道无法访问name
,但我不太理解为什么。是的,该类处于静态上下文中,但是它扩展了封闭的类。
我的直觉告诉我,可能与静态块只执行一次(即当JVM看到Child
时)有关。
我希望在正确的方向上放一个或两个指针-为什么静态子类不能访问封闭的父类的字段?