A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© ZhangHeng 中级黑马   /  2015-7-6 22:22  /  282 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 ZhangHeng 于 2015-7-6 22:24 编辑

设计模式的概念:解决某一问题最行之有效的方法。java中共有23种设计模式。
接下来我们讲解其中的一种:单例设计模式。

单例设计模式的作用:使一个类在内存中只存在一个对象。

用代码实现单例设计模式需要做三部:
        1、将构造函数初始化。
              例:private Single(){}
        2、在类中创建一个本类对象。
              例:private static Single s= newSingle();
        3、提供一个访问方法可以获取到该对象。
              例:public static Single getInstance()
                     {
                            return s;
                      }

单例设计模式只是为了保证内存中的对象唯一,其他在类中该怎么描述吗,还是怎么描述。
单例设计模式有两种写法:
        1、饿汉式:也就是刚三部中的示例语句。它的特点是先初始化对象。如:Single类一进内存,就已经创建好了对象。在实际开发中,出于安全考虑,建议使用饿汉式。
完整代码如下:
  1. class Single  
  2. {  
  3.      private static Single s=new Single();  
  4.      private Single(){}  
  5.      public static Single getInstance()  
  6.      {  
  7.           return s;  
  8.      }  
  9. }  
复制代码


2、懒汉式:它的特点对象是方法被调用时,才初始化,这也叫对象的延时加载。如:在以下完整代码中,Single类进内存,对象还没有存在,只有调用了getInstance()方法时,才创建对象。
完整代码如下:
  1. class Single  
  2. {  
  3.      private static Single s=null;  
  4.      private Single(){}  
  5.      public static Single getInstance()  
  6.      {  
  7.           if(s==null)   
  8.                s=new Single();  
  9.           return s;  
  10.      }  
  11. }  
复制代码
您需要登录后才可以回帖 登录 | 加入黑马