package singleton;
public class SingletonDemo2 {
private int num;
private SingletonDemo2(){}
private static SingletonDemo2 single=null; //懒汉式,也叫延迟加载
public static SingletonDemo2 getInstance()
{
if(single==null)
{
synchronized(SingletonDemo2.class) //可能会出现线程不同步,即得加锁
{
single=new SingletonDemo2();
}
}
return single;
}
public void setNum(int num) {
this.num = num;
}
public int getNum() {
return num;
}
public static void main(String[] args)
{
SingletonDemo2 sd1=SingletonDemo2.getInstance();
SingletonDemo2 sd2=SingletonDemo2.getInstance();
sd1.setNum(44);
System.out.println(sd1.getNum());
sd1.num+=4;
System.out.println(sd2.getNum());
System.out.println(sd1.getNum());
}
}
单例模式2(single pattern)
最新推荐文章于 2022-07-11 09:59:04 发布