标签: java oop
将外部类定义为静态内部也是静态类是正确的吗?只需要一个外部和内部类的实例。外层类可以是抽象的,它的封闭类是静态的吗?
答案 0 :(得分:4)
不,顶级课程不能是静态的。类声明中“static”的含义是仅与嵌套类相关。但是,您当然可以在抽象类中拥有静态嵌套类。
来自JLS section 8.1.1:
修饰符static仅适用于成员类(第8.5.1节),不适用于顶级或本地或匿名类。
注意,如果你想要一个类的“只有一个实例”,你应该把它变成一个单例 - 这是完全独立的,而不是影响类声明本身的东西。