单例模式是设计模式中比较基本的模式,重点是只有一个实例
要领:
- 构造方法私有化
- 对外提供一个可以获取当前类型对象的方法
- 提供一个当前类型的私有静态变量
饿汉式
public class Singleton{
private static Singleton a = new Singleton ();
private Singleton(){}
public static Singleton getInstance(){
return a;
}
}
懒汉式
public class Singleton {
private static Singleton instance = null;
private Singleton(){}
//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次
//使用时生成实例,提高了效率!
public static synchronized Singleton getInstance() {
if (instance==null)
instance=new Singleton();
return instance;
}
}