可能重复:
为什么 Java 禁止内部类中的静态字段?
我对内部类的访问规范感到非常困惑。请向我解释私有和受保护的内部类和嵌套类。我想知道为什么不能在静态内部类中声明非静态成员。
非常感谢。
对不起我错了。我想知道为什么不能在非静态内部类中声明静态成员..我以相反的方式问..对不起
可能重复:
为什么 Java 禁止内部类中的静态字段?
我对内部类的访问规范感到非常困惑。请向我解释私有和受保护的内部类和嵌套类。我想知道为什么不能在静态内部类中声明非静态成员。
非常感谢。
对不起我错了。我想知道为什么不能在非静态内部类中声明静态成员..我以相反的方式问..对不起
希望这能回答您的一些问题?
http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html
但是你错了,你可以在静态嵌套类中声明非静态成员,这里声明为静态的类是为了将它与内部类区分开来。静态嵌套类可以像任何其他顶级类一样实例化,它们只是以静态方式引用:
new StaticClass.NestedClass()
非静态成员肯定可以在静态内部类中声明,但不允许其他方式。请参阅:为什么 Java 禁止内部类中的静态字段?