主程序:
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;// 返回唯一實例
}
}
Tags: private package public return import
文章來源: