1、饿汉单例模式
在用类获取对象的时候,对象已经提前为你创建好了
设计步骤:
第一步:定义一个类,把构造器私有
第二步:定义一个静态变量存储一个对象
// 定义一个单例类
public class SingleInstance {
// 定义一个静态变量存储一个对象即可:属于类,与类一起加载一次
public static SingleInstance instance = new SingleInstance();
// 单例必须私有的构造器
private SingleInstance(){
System.out.println("创建了一个对象")
}
}
2、懒汉单例模式
在真正需要对象的时候,才去创建一个对象(延迟加载对象)。
设计步骤:
第一步:定义一个类,把构造器私有。
第二步:定义一个静态变量存储一个对象。
第三步:提供一个返回单例对象的方法
class SingleInstance {
// 定义一个静态变量存储一个对象即可:属于类,与类一起加载一次
public static SingleInstance instance;
// 单例必须私有的构造器
private SingleInstance(){}
// 必须提供一个方法返回一个单例对象
public static SingleInstance getInstance(){
...
return ...;
}
}