为什么 Java 禁止在内部类中使用静态字段?
class OuterClass {
class InnerClass {
static int i = 100; // compile error
static void f() { } // compile error
}
}
虽然不能使用 访问静态字段,但如果要记录应该是静态的内容,例如创建的 InnerClass 对象的数量,那么使该字段成为静态会很有帮助。那么,为什么Java禁止在内部类中使用静态字段/方法呢?OuterClass.InnerClass.i
编辑:我知道如何使编译器对静态嵌套类(或静态内部类)感到满意,但我想知道的是,如果有人对它有更多的了解,为什么java禁止内部类(或普通内部类)中的静态字段/方法。