概念:
保证一个类仅有一个实例,并提供一个访问它的全局访问点。
单例模式有以下特点:
1、单例类只能有一个实例。
2、单例类必须自己自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。
创建一个类的实例的具体方法(要素)是:
1、 私有的、静态的成员变量
2、 私有的构造方法
3、 公共的、静态的一个入口方法。
两种方式:懒汉与饿汉
1、饿汉
public class Singleton {
private static Singleton instance=new Singleton();
private Singleton(){
}
public static Singleton getInstance(){
return instance;
}
}
2、懒汉
public class Singleton {
private static Singleton instance=null;
private Singleton(){
}
public static synchronized Singleton getInstance(){
if(instance==null){
instance=new Singleton();
}
return instance;
}
}