1.单例模式的定义
保证一个类只有一个实例,并且提供一个访问它全局的访问点
2.单例模式的UML图
3.单例模式的代码实现
懒汉式
public class Singleton{
private static Singleton instance=null;
private Singleton(){
}
public static synchronized Singleton getInstance(){
if(instance==null){
instance=new Singleton();
}
return instance
}
}
饿汉式
public class Singleton{
private static Singleton instance=new Singleton();
private Singleton(){
}
public static Singleton getInstance(){
return instance
}
}
更加巧妙的方法
public class Singleton{
private Singleton(){
}
private static class SingletonHandler{
private static Singleton instance=new Singleton();
}
public static Singleton getInstance(){
return SingletonHandler.instance;
}
}
4.单例模式的本质:控制实例数目