单例模式2(single pattern)

来源:互联网 发布:cntv mac版 编辑:程序博客网 时间:2024/06/14 10:10
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());}}