class OuterClass {
class InnerClass {
static int i = 100; // compile error
static void f() { } // compile error
}
}
尽管无法使用OuterClass.InnerClass.i
访问静态字段,但如果我想记录应该是静态的东西,比如创建的InnerClass对象数量,将该字段设置为静态将会很有帮助。那么,为什么Java禁止在内部类中使用静态字段/方法呢?编辑:我知道如何使用静态嵌套类(或静态内部类)使编译器满意,但我想知道的是,如果有人对语言设计和实现方面更了解,为什么Java禁止在内部类(或普通内部类)中使用静态字段/方法。
since
不再适用 - 请参阅此答案。 - Nicolai Parlog