【问题标题】:nonstatic members should not be declared inside static inner class in java [duplicate]不应该在java的静态内部类中声明非静态成员[重复]
【发布时间】:2012-10-19 10:23:20
【问题描述】:

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

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

非常感谢。

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

【问题讨论】:

    标签: java inner-classes nested-class


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

      new StaticClass.NestedClass()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-24
        • 2012-04-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多