目标:
- 设计一个类,只能生成该类的一个实例
- 单例模式
关键点:
- 一个类只有一个实例,这是最基本的
- 它必须自行创建这个实例
- 它必须自行向整个系统提供这个实例
实现方式
- 懒汉模式(类加载时不初始化)
- 饿汉模式(在类加载时就完成了初始化)
###懒汉式单例模式
懒汉模式代码如下:
|
|
关键点:(代码注释上已给出)
- 构造函数定义为私有—不能在别的类中来获取该类的对象,只能在类自身中得到自己的对象
- 成员变量为static的,没有初始化—类加载快,但访问类的唯一实例慢,static保证在自身类中获取自身对象
- 公开访问点getInstance:public和synchronized的—public保证对外公开,synchronized同步保证多线程时的正确性(因为类变量不是在加载时初始化的)