有谁知道这两种方法的区别?
public class SingleTone {
private static final instance = new SingleTone();
private SingleTone() {
}
public [static] SingleTone getinstance() {
return instance;
}
}
and
public class SingleTone {
private static instance = new SingleTone();
private SingleTone() {
}
public [static] SingleTone getinstance() {
return instance;
}
}
我知道最终静态变量是线程安全的,但是我找不到非最终静态变量的任何问题。
(注意:我正在寻找最终静态变量与非最终静态变量的差异,因此请不要建议如何实现单例设计模式。我知道有一种枚举方法。)
编辑:我错过了方法上的静态关键字,现在它已修复!
除了可能的编译器优化之外,没有太大区别。在任何一种情况下,因为它是私有的,没有设置器,所以没有任何东西可以修改它,所以如果它是final
或不。然而,在这两种情况下,您的getInstance()
需要声明方法static
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)