代码之家  ›  专栏  ›  技术社区  ›  nz_21

Java:为什么静态子类不能访问封闭父类的字段?[复制品]

  •  0
  • nz_21  · 技术社区  · 7 年前

    我的想法是:

    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 ,但我不太明白 为什么 . 是的,该类位于静态上下文中,但它扩展了封闭类。

    我的直觉告诉我,静态块可能只执行一次,也就是说,当 Child 被jvm看到。

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

    0 回复  |  直到 7 年前