java单例模式小demo

来源:互联网 发布:thinking in java第5版 编辑:程序博客网 时间:2024/06/01 08:17

主程序:


package singleton.test;



import singleton.common.SingletonClazz;


public class TestDemo {


public static void main(String[] args) {
SingletonClazz s1 = SingletonClazz.getInstanse();
SingletonClazz s2 = SingletonClazz.getInstanse();
System.out.println(s1 == s2 ? 1 : 0);
}


}


调用的类:

package singleton.common;


public class SingletonClazz {
/**
* static-确保无论如何就是这唯一一个实例
*/
private static SingletonClazz singletonClazz;


/**
* 私有的构造函数确保外界无法实例化该类
*/
private SingletonClazz() {
// singletonClazz = new SingletonClazz();// 啊多么痛的领悟-递归了
}


/**
* 静态变量确保外界有入口可以获取到唯一实例

* @return
*/
public static SingletonClazz getInstanse() {
if (singletonClazz == null) {// 如果为空就实例化
singletonClazz = new SingletonClazz();
}
return singletonClazz;// 返回唯一实例
}
}

0 0