思维模式
保证一个类仅有一个实例,并提供一个访问它的全局访问点
适用性
1.当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。
2.当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。
类图
程序清单
/** * 单例模式 * @author 何青松 * @version 1.0 */ public class Singleton { private static Singleton sing; private Singleton(){} public static Singleton getInstance(){ if(sing==null) sing = new Singleton(); return sing; } }
public class Singleton_Test { public static void main(String[] args) { Singleton sing = Singleton.getInstance(); Singleton singOne = Singleton.getInstance(); System.out.println(sing==singOne); } }