我读到可以实施Singleton
在Java中使用Enum
例如:
public enum MySingleton {
INSTANCE;
}
但是,上面的方法是如何工作的呢?具体来说,一个Object
必须被实例化。这里,怎么样MySingleton
被实例化?谁在做new MySingleton()
?
This,
public enum MySingleton {
INSTANCE;
}
有一个隐式的空构造函数。相反,要明确地表达出来,
public enum MySingleton {
INSTANCE;
private MySingleton() {
System.out.println("Here");
}
}
如果您随后添加了另一个类main()
方法就像
public static void main(String[] args) {
System.out.println(MySingleton.INSTANCE);
}
你会看到
Here
INSTANCE
enum
字段是编译时常量,但它们是其实例enum
类型。并且,它们是在引用枚举类型时构造的第一次.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)