单例设计模式
- 类的单例设计模式,就是采取肯定的办法保障在整个的软件系统中,对某个类只能存在一个对象实例,并且只提供一个获得其对象实例的办法.
- 该类的结构器为private
- 类的内部只能调用该类的某个静态方法以返回类外部创立的对象
- 静态方法只能拜访类中的动态成员变量
- 因而指向类外部产生的该类对象的变量也必须是动态的.
* 办法一:饿汉式(间接创建对象)
class Bank{ //1. 私有化类的结构器 private Bank(){} //2. 外部创立类的对象 //4. 要求此对象也是动态的 private static Bank instance = new Bank(); //3. 提供public、static的办法返回类的对象 public static Bank getInstance(){ return instance ; }}
* 办法二: 懒汉式(随调用创建对象)
class Bank{ //1. 私有化类的结构器 private Bank(){} //2. 申明以后类对象,然而没有初始化 //4. 要求此对象也是动态的 private Bank instance = null; //3. 提供public、static的办法返回类的对象 public static Bank getInstance(){ if(instance == null){ instance = new Bank() ; return instance ; } }}
| 饿汉式 | 懒汉式 |
---|
益处 | 线程平安 | 提早对象的创立 |
害处 | 对象加载工夫过长 | (目前的写法)<br/>线程不平安 |