一. 单例设计模式

解决的问题: 保证一个类在内存中的对象惟一性.函数

如何保证对象惟一性?spa

思想:对象

1,不让其余程序建立该类对象。内存

2,在本类中建立一个本类对象。get

3,对外提供方法,让其余程序获取这个对象。class

 

步骤:构造函数

1,由于建立对象都须要构造函数初始化,只要将本类中的构造函数私有化,其余程序就没法再建立该类对象;程序

2,就在类中建立一个本类的对象;方法

3,定义一个方法,返回该对象,让其余程序能够经过方法就获得本类对象。(做用:可控)static

 

代码体现:

1,私有化构造函数;

2,建立私有并静态的本类对象;

3,定义公有并静态的方法,返回该对象。

//饿汉式

class Single{

    private Single(){} //私有化构造函数。

private static Single s = new Single(); //建立私有并静态的本类对象。

    public static Single getInstance(){ //定义公有并静态的方法,返回该对象。

        return s;

    }

}

---------------------------------------------

//懒汉式:延迟加载方式。

class Single2{

    private Single2(){}

private static Single2 s = null;

    public static Single2 getInstance(){

        if(s==null)

            s = new Single2();

        return s;

    }

}

相关文章
相关标签/搜索