应用场景:像windows的应用管理器,就只应该有一个
具体代码应用
饿汉模式:
定义一个类,私有化构造方法,定义一个静态变量储存一个对象,new一个对象赋值给静态变量。
public static SingleInstance1 instance = new SingleInstance1();
private SingleInstance1(){}
懒汉模式:
定义一个类,私有化构造方法,定义一个静态变量储存一个对象,提供一个public的创建对象方法,方法里判断,如果静态变量为null,创建对象赋值给静态变量,否则直接return静态变量。
private static SingleInstance2 instance;
private SingleInstance2(){}
public static SingleInstance2 getInstance(){
if(instance == null){
// 第一次来拿对象,为他做一个对象
instance = new SingleInstance2();
}
return instance;
}