---------------------- <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>