Java:为什么静态子类无法访问封闭的父类的字段?

时间:2018-12-01 18:25:41

标签: java inheritance

这是主意:

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时)有关。

我希望在正确的方向上放一个或两个指针-为什么静态子类不能访问封闭的父类的字段?

0 个答案:

没有答案