概述:
保证一个类仅有一个实例,并提供一个访问它的全局访问点。
适用性:
1.当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。
2.当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。
按需创建:
private Single(){}
private static Single single = null;
public static Single getSingle() {
if(single==null)
single = new Single();
return single;
}
懒汉式:提前创建
public class Single {
private Single()
{
}
private static Single single = new Single();
public static Single getSingle() {
return single;
}
}
1私有化构造器
2私有化的静态的本类对象成员
3提供静态公共获取实例的方法