单例模式-singleton

来源:互联网 发布:pc街霸5取得数据失败 编辑:程序博客网 时间:2024/04/28 02:29

package day08_static;

/**
*
* @author tarena
* 单例设计模式
* 保证实例唯一,节省内存,对象不会改变
* 只能new一次,把new写成一个方法,调用的时候只能调用这个方法
*
*/

public class Singleton {

    private static Singleton si;

   private Singleton() {}//私有构造

   public static Singleton getInstance() {
        if (si == null) {// 判断是否为null,如果为null,则new一次,确保只有一个对象
           si = new Singleton();
       }
        return si;
    }

}

 

/**
* 单例测试类
* @author hsy
*
*/

public class TestSingleton {

   public static void main(String[] args) {
       Singleton si1 = Singleton.getInstance();
       Singleton si2 = Singleton.getInstance();
        System.out.println(si1 == si2);
   }
}

 

运行结果输出为 true

说明单例模式中,singleton的对象只new 一次。