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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 火七君 于 2015-3-15 14:17 编辑

                                                                                                            单例设计模式



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

步骤

        1、将构造函数初始化。

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

        3、提供一个访问方法可以获取到该对象。

单例设计模式有两种写法(背也要背下来

        1、饿汉式:也就是刚三部中的示例语句。它的特点是先初始化对象。

如:Single类一进内存,就已经创建好了对象。在实际开发中,出于安全考虑,建议使用饿汉式。


  1. class Single  
  2. {  
  3.                    private static Single sin=new Single(); //直接创建对象,比较常用;
  4.                    private Single(){}//构造函数私有化,使其他类中不能创建该类对象。
  5.                    public static Single getInstance()//括号里面可以写入条件,从而实现可控性。
  6.                    {  
  7.                                    return sin;  
  8.                     }  
  9. }  
复制代码

2、懒汉式:它的特点对象是方法被调用时,才初始化,这也叫对象的延时加载。

如:在以下完整代码中,Single类进内存,对象还没有存在,只有调用了getInstance()方法时,才创建对象。

  1. class Single  
  2. {  
  3.                private static Single sin=null; //这里就是体现出懒汉,初始值定义为空,被调用时才创建对
  4.                private Single(){}//构造函数私有化,使其他类中不能创建该类对象。
  5.                public static Single getInstance() //括号里面可以写入条件,从而实现可控性。
  6.                {  
  7.                             if(sin==null)   
  8.                             sin=new Single();  
  9.                             return sin;  
  10.                }  
  11. }  
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马