展开全部
static Singleton instance = new Singleton();
static类型的成员变量,只会在新建类的对象时被执行一次e69da5e887aa62616964757a686964616f31333361313365。
所以static Singleton instance = new Singleton(); 只有在第一次调用时,被new一次。之后获取的都是第一次执行的对象。所以称之为单例。
也可以使用老的写法,比较清晰一些。class ABC {
private static ABC instance;
private ABC() {}
public ABC getInstance() {
if (instance==null)
instance = new ABC();
return instance;
}
}
这样写法的缺点是效率不如
class ABC {
private static ABC instance= new ABC();
private ABC() {}
public ABC getInstance() {
return instance;
}
}
这样写法高。