【发布时间】:2014-04-25 04:54:03
【问题描述】:
以下是实现单例的两种方法。各有什么优缺点?
静态初始化:
class Singleton {
private Singleton instance;
static {
instance = new Singleton();
}
public Singleton getInstance() {
return instance;
}
}
延迟初始化是:
class Singleton {
private Singleton instance;
public Singleton getInstance(){
if (instance == null) instance = new Singleton();
return instance;
}
}
【问题讨论】:
-
注意:静态块只能直接访问在静态块外部定义的静态变量
标签: java static singleton lazy-initialization static-block