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.单例模式的本质:控制实例数目