------- android培训、java培训、期待与您交流! ----------
为了方便和安全,java的先辈们总结了n多模式,懒汉式和饿汉式就是其中常用的。
此模式目的:整个应用中有且只有一个实例,所有指向该类型实例的引用都指向这个实例。
要保证对象唯一性
1.为了避免其他程序过多建立该对象,先禁止其他程序建立该类对象。
2.为了让其他程序可以访问该对象,只好在本类中,自定义一个对象。
3.为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式。
这三部用代码实现
1.将构造函数私有化。
2.在类中创建一个本类对象。
3.提供一个方法可以获取该对象。
饿汉式
这个是先初始化对象。
助记:饿了就吃,甭管那么多,先创建对象再说,饿啊!
<span style="font-size:18px;">class Single { private Single(){}; private static single s =new single();//创建对象 public static SinglegetInstance() { return s; } }</span>
*************************************************
懒汉式
对象被方法调用时才初始化,也叫对象的延时加载。
助记:能不动就不懂,能先不创建对象就先不创建对象,懒嘛!
single类进内存,对象还没有存在,只有调用getIntance方法时,才建立对象。
<span style="font-size:18px;">class Single { private Single(){}; private static Single s = null; public static SinglegetInstance() { if(s == null) { synchronized(Single.class) { if(s==null) s = new Single; } } return s; } }</span>
------- android培训、java培训、期待与您交流! ----------