我只是检查内部类,我知道我们可以对私有和静态内部类进行声明,但是我不理解通过声明内部类为私有和静态可以实现什么。
class OuterClass {
private static class InnerClass{
}
}
由于此类是私有的,因此其他任何类都无法访问InnerClass,所以我认为Static无法帮忙。
是否只是为了简化Java
我只是检查内部类,我知道我们可以对私有和静态内部类进行声明,但是我不理解通过声明内部类为私有和静态可以实现什么。
class OuterClass {
private static class InnerClass{
}
}
由于此类是私有的,因此其他任何类都无法访问InnerClass,所以我认为Static无法帮忙。
是否只是为了简化Java
尽管Elliot Sir和Sambit给出了提示,但我在下面提供了使用私有静态内部类的地方。我们可以创建一个Singleton类,该类也是线程安全的并且也是不可变的。
centered
这被称为对持有人模式的初始化。
https://en.wikipedia.org/wiki/Initialization-on-demand_holder_idiom
,通过使其静态化,可以使它不需要对象。外部类中的其他代码仍然可以使用它,例如静态方法。