1,单例的概述:(instance)
2,单例的分类:
- 饿汉式:使用私有对象之前,对象已经创建好了;
懒汉式:当需要使用到对象的时候才去创建;(线程不安全,要加锁)
3,饿汉式单例的创建步骤:
将构造器私有:
private D(){};
使用成员变量保存创建好的单例对象:
private static final D instance=new D();
提供一个静态的方法返回单例对象提供给别人使用类名进行调用:
public static D getInstance(){
return instance;
}
单例的调用:
//注意:单例不能被创建对象,因为构造器被私有了;
//因为是静态方法,所以直接使用类名进行调用:
D instance1 = D.getInstance();
4,懒汉式单例的创建步骤:
将构造器私有:
private D(){};
使用成员变量保存单例对象:
//无final,否则无法创建单例对象
private static D instance;
提供一个静态方法并返回单例对象:
public static D getInstance() {
if (instance == null) {
instance = new D();
}
return instance;
}
单例对象的调用:
//注意:单例不能被创建对象,因为构造器被私有了;
//因为是静态方法,所以直接使用类名进行调用:
D instance1 = D.getInstance();