-
单例模式
定义:在整个系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的静态方法,有懒汉式和饿汉式两种。
-
饿汉式
实现步骤:
1. 构造器私有化(防止直接new出对象,对象只能从静态方法的返回值中得到)
2. 静态成员初始化该类的对象
3. 向外暴露一个静态的公共方法,用来返回该静态属性的对象
class GF{
private String name;
// 静态成员初始化该类的对象
private static GF gf = new GF("123");
// 将构造器私有化
private GF(String name) {
this.name = name;
}
// 向外暴露一个静态的公共方法,用来返回该静态属性的对象
public static GF getInstance() {
return gf;
}
}
可以看出,饿汉式即便没有使用到对象实例,但随着类的加载它也会帮你创建好一个对象实例。
-
懒汉式
实现步骤:
1. 构造器私有化(防止直接new出对象,对象只能从静态方法的返回值中得到)
2. 静态成员声明该类的对象但不初始化<