public class javaprac1 {
private javaprac1() {
}
static private javaprac1 instance = new javaprac1();
public static javaprac1 getInstance(){
return instance;
}
}
最佳答案
是。这是最简单的非延迟单例,并且是线程安全的,没有任何其他麻烦。唯一的“缺点”是它没有被延迟地初始化,但是通常似乎懒惰被过分强调了。当单例执行一些可能很重的初始化,并且您希望将其推迟到首次使用时,最好使用Lazy-init。
如果需要懒惰的单例,请使用Enum singleton模式,这也非常简单。