非静态成员不应在java中的静态内部类中声明

时间:2012-10-19 10:23:20

标签: java inner-classes nested-class

  

可能重复:
  Why does Java prohibit static fields in inner classes?

我对内部类的访问规范感到非常困惑。请向我解释私有和受保护的内部类和嵌套类。 我想知道为什么不能在静态内部类中声明非静态成员。

非常感谢。

抱歉......我错了。我想知道为什么静态成员不能在非静态内部类中声明..我反向询问..抱歉

2 个答案:

答案 0 :(得分:0)

希望这能回答你的一些问题吗?

http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html

但是你错了,你可以在静态嵌套类中声明非静态成员,这里声明为static的类是为了将它与内部类区分开来。静态嵌套类可以像任何其他顶级类一样实例化,它们只是以静态方式引用:

new StaticClass.NestedClass()

答案 1 :(得分:0)

非静态成员可以肯定在静态内部类中声明,但不允许以其他方式声明。请参阅:Why does Java prohibit static fields in inner classes?