这个,
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);}你会看到
HereINSTANCE
enum字段是编译时间常数,但它们是其
enum类型的实例。并且,它们是在首次引用枚举类型时构造的。



