可以将外部类定义为静态并包含内部静态类吗?

时间:2012-04-13 15:52:03

标签: java oop

将外部类定义为静态内部也是静态类是正确的吗?只需要一个外部和内部类的实例。外层类可以是抽象的,它的封闭类是静态的吗?

1 个答案:

答案 0 :(得分:4)

不,顶级课程不能是静态的。类声明中“static”的含义是与嵌套类相关。但是,您当然可以在抽象类中拥有静态嵌套类。

来自JLS section 8.1.1

  

修饰符static仅适用于成员类(第8.5.1节),不适用于顶级或本地或匿名类。

注意,如果你想要一个类的“只有一个实例”,你应该把它变成一个单例 - 这是完全独立的,而不是影响类声明本身的东西。