class OuterClass {
class InnerClass {
static int i = 100; // compile error
static void f() { } // compile error
}
}
虽然无法使用来访问静态字段OuterClass.InnerClass.i
,但是如果我想记录一些应该是静态的内容(例如,创建的InnerClass对象的数量),则使该字段静态化将很有帮助。那么,为什么Java禁止内部类中的静态字段/方法呢?
编辑:我知道如何使编译器对静态嵌套类(或静态内部类)感到满意,但是我想知道的是为什么Java禁止从语言设计和内部类(或普通内部类)内部的静态字段/方法实施方面,如果有人对此有更多了解。