最简单的单例模式
public class Singleton{
private static Singleton instance=new Singleton();
/*
* 首先单例模式只能存在一个实例
* 所以构造函数必须私有
*/
private Singleton(){}
/*
* 然后外部必须能够访问到一个方法获取这个单例的对象
* 因此这个方法必须是共有的静态方法
*/
public static Singleton getInstance(){
return instance;
}
}
lazy initialization单例模式
public class Singleton{
private static Singleton instance=null;
/*
* 首先单例模式只能存在一个实例
* 所以构造函数必须私有
*/
private Singleton(){}
/*
* 然后外部必须能够访问到一个方法获取这个单例的对象
* 因此这个方法必须是共有的静态方法
*/
public synchronized static Singleton getInstance(){
if(null == instance){
instance=new Singleton();
}
return instance;
}
}