Java私有静态内部类

问题描述 投票:0回答:1

[我只是检查内部类,我知道我们可以对私有和静态内部类进行声明,但是我不理解通过声明私有和静态内部类可以实现什么。

class OuterClass {

    private static class InnerClass{
    }
}

由于此类是私有的,因此其他任何类都不能访问InnerClass,所以我认为Static无法帮助。

是否只是为了简化Java语言而允许

java inner-classes
1个回答
0
投票

通过将其设为静态,您无需使用任何对象。外部类中的其他代码仍然可以使用它,例如静态方法。


0
投票

尽管Elliot Sir和Sambit给出了提示,但我在下面提供了使用私有静态内部类的地方。我们可以创建一个Singleton类,该类是线程安全的和不变的aslo。

public class Singleton  {    
    private static class Holder {    
        public static final Singleton instance = new Singleton();
    }    

    public static Singleton getInstance() {    
        return Holder.instance;    
    }    
}
© www.soinside.com 2019 - 2024. All rights reserved.