---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IO开发S</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

3.7 单例设计模式

    1、设计模式:解决一类问题最行之有效的方法

    2、单例设计模式:保证内存中只有一个对象

    3、原因:以配置文件为例,

    4、如何保证对象的唯一性?

        1)、不允许其他程序用new建立该类对象

        2)、为了让其他程序可以访问到该类对象,在本类中,定义一个对象

        3)、为了让其他程序对自定义对象可以访问,可以对外提供一些访问方式

    5、以上3部怎么用代码体现?

        1)、将构造函数私有化

        2)、在类中创建一个本类对象

        3)、提供一个方法可以获得该对象

6、模式:

①饿汉式:定义单例时,建议使用饿汉式

class Singleton{private int num;public int getNum() {return num;}public void setNum(int num) {this.num = num;}private Singleton(){}private static Singleton s = new Singleton();public static Singleton getInstance(){return s;}}

②懒汉式:对象的延时加载,懒汉式在面试的时候考的最多

class Singleton{private int num;public int getNum() {return num;}public void setNum(int num) {this.num = num;}private Singleton(){}private static Singleton s = null;public static  Singleton getInstance(){if(s==null){synchronized(Singleton.class){if(s==null)s = new Singleton();}}return s;}}

 ---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

详细请查看:<ahref="http://edu.csdn.net" target="blank"></a>