zme*_*eda 4 java singleton inner-classes
我知道Java中单例的概念.我在使用Java创建单例作为内部类时遇到了问题.持有人出现问题
public class NormalClass {
private class Singleton {
private static Singleton instance = null;
private Singleton() {
}
private static class SingletonHolder {
private static Singleton sessionData = new Singleton();
}
public static Singleton getInstance() {
return NormalClass.Singleton.SingletonHolder.sessionData;
}
}
public void method1() {
Singleton.getInstance();
}
}
Run Code Online (Sandbox Code Playgroud)
错误是在新的Singleton()构造函数调用.如何正确调用Singleton的私有构造函数作为内部类?
问候
如果它应该是一个真正的单例,请使你的单例类静态.然后你就可以调用构造函数了.
Java嵌套类教程中解释了构造函数调用不起作用的原因.基本上,内部类在构造之前需要外部类的实例:
private static Singleton sessionData = new NormalClass().new Singleton();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11029 次 |
| 最近记录: |