黑马程序员——java小结_007_单例设计模式(懒汉式、饿汉式)

------- 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培训、期待与您交流! ----------


你可能感兴趣的:(java,懒汉式,饿汉式,单例设计模式)