public class LazySingle {
//静态的私有类类型的变量并初始化
private static LazySingle newInstance=null;
//私有化的构造函数
private LazySingle() {}
//静态的public类类型的方法
public static LazySingle getNewInstance() {
if(newInstance==null) {
newInstance=new LazySingle();
}
return newInstance;
}
}
但是,没有加锁就显得不太安全了;下面为加锁方式
关键字:synchronize
public class LazySingle {
//静态的私有类类型的变量并初始化
private static LazySingle newInstance=null;
//私有化的构造函数
private LazySingle() {}
//静态的public类类型的方法
public static LazySingle getNewInstance() {
synchronized (newInstance) {//括号里面随便写一个类
if(newInstance==null) {
newInstance=new LazySingle();
}
}
return newInstance;
}
}