黑马程序员-面向对象之单例设计模式

时间:2023-02-11 18:09:02
---------------------- android培训、java培训、期待与您交流! ----------------------
                    单例设计模式:解决一个类在内存中只存在一个对象

想要保证对象唯一:
1.为了避免其他程序过多建立该类对象,先控制禁止其他程序建立该类对象
2.还为了让其他程序可以访问到该类对象,只好在本类中,自定义一个对象。
3.为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式。

用代码体现这三步:
1.将构造函数私有化。
2.在类中创建一个本类对象
3.提供一个方法可以获取到该类对象

class Single           // 饿汉式,开发时建议使用这种方式
{
private Single(){}
private static Single s=new Single();
public  static Single getInstance()
{
return s;
}
}
饿汉式特点:先初始化对象,Single类一进内存就已经创建好了对象
另外一种写法:懒汉式,特点是对象是方法被调用时,才初始化,也叫做对象的延时加载。
Single类进内存,对象还没有存在,只有调用了getInstance方法时,才建立对象。
class Single
{
private Single(){}
private static Single s=null;
public  static Single getInstance()
{
                if(s==null)
{
   synchronized(Single.class)
                    {
                           if(s==null)  
                                 s=new Single();
                    }
                }
  return s;
}
}


---------------------- android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima