黑马程序员——单例设计模式

来源:互联网 发布:python 打包软件 编辑:程序博客网 时间:2024/05/07 03:39

------- android培训java培训、期待与您交流! ----------

1  单例设计模式的作用

             解决一个类在内存中只能存在一个对象的问题,这样的话任何对 对象的操作都是在操作同一个对象

   如何保证对象的唯一?

            1  为了避免其他程序过多的建立该类对象,应该先禁止其他程序建立该类的对象

            2  为了让其他的程序可以访问到该类的对象,应该在本类中创建一个本类的对象

            3  为了方便外部使用这个对象,应该提供一个方法返回本类对象  

     对应的解决方案:

            1   将构造函数私有化,防止外部创建对象

            2  在本类中创建本类对象

            3  提供一个方法,可以获取本类的对象

         例如:

             

class Single{private Single(){};//构造函数私有化private static Single s = new Single();//创建本类对象public static Single getSingle(){return s;//返回本类对象的引用}}
这种创建方法,也叫“饿汉式“,类一加载就创建对象,也是在开发中比较常用的,

另一种就是”懒汉式“,当在调用这个类的获取方法时才创建对象

  例如:

class Single2{private Single2(){};private static Single2 s = null;public static Single2 getSingle2(){if(s == null){synchronized(Single.class){if(s==null)s = new Single2();}}return s;}}
这种方式在使用时才创建对象,节省内存,但是在代码的操作上比较费时,也不简化,而且在多线程的操作中有可能存在安全问题(用上面代码中的方式来解决安全问题),所以在开发中都是应用饿汉式来创建单例类。






0 0
原创粉丝点击