package new20140418;
/**
* 单列类
* ——如果一个类始终只能创建一个实例,则这个类被称为单例类。
* @author x
*
*/
class Singleton {
//使用一个变量来缓存曾经创建的实例
private static Singleton instance;
//对构造器使用private修饰,隐藏该构造器
private Singleton(){};
//提供一个静态方法,用于返回Test2_Singleton实例
//该方法可以加入自定义控制,保证只产生一个Singleton 对象
public static Singleton getIntance(){
//如果 instance 为 null,则表明还不曾创建Singleton对象
//如果instance 不为 null,则表明已经创建了Singleton对象
//将不会重新创建新的实例
if(instance==null){
//创建一个Singleton对象,并将其缓存起来
instance=new Singleton();
}
return instance;
}
}
public class Test2_Singleton {
public static void main(String[] args) {
//创建Singleton对象不能通过构造器
//只能通过getIntance()方法得到实现
Singleton s1=Singleton.getIntance();
Singleton s2=Singleton.getIntance();
System.out.println(s1==s2);//true
}
}
64 Java 单例
最新推荐文章于 2015-02-28 21:11:54 发布