以前我不使用枚举,而是这样做:
public static ExampleClass instance;
public ExampleClass(){
instance=this;
}
public static ExampleClass getInstance(){
return instance;
}
然后有人告诉我关于枚举单例:
public enum Example{
INSTANCE;
public static Example getInstance(){
return Example.INSTANCE;
}
在第一个示例中,我必须实例化对象才能创建实例。对于枚举,我不需要这样做......至少看起来是这样。有人可以解释这背后的原因吗?
Java 编译器负责将枚举字段创建为字节码中 Java 类的静态实例。关于它的很棒的博客文章(不是我的博客),这里有字节码:http://boyns.blogspot.com/2008/03/java-15-explained-enum.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)