黑马程序员——Java基础---面向对象(单例设计模式)--第6天--第82-83集

来源:互联网 发布:java制作计算器 编辑:程序博客网 时间:2024/04/26 08:02
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

第6天-第82-83集

学习视频下载地址http://blog.csdn.net/abc784990536/article/details/42041151


3.7、单例设计模式

设计模式的概念:解决某一问题最行之有效的方法。java中共有23种设计模式。

接下来我们讲解其中的一种:单例设计模式。

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

用代码实现单例设计模式需要做三部:

        1、将构造函数初始化。

              例:private Single(){}

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

              例:private static Single s= newSingle();

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

              例:public static Single getInstance()

                     {

                            returns;

                      }

单例设计模式只是为了保证内存中的对象唯一,其他在类中该怎么描述吗,还是怎么描述。

单例设计模式有两种写法:

        1、饿汉式:也就是刚三部中的示例语句。它的特点是先初始化对象。如:Single类一进内存,就已经创建好了对象。在实际开发中,出于安全考虑,建议使用饿汉式。

完整代码如下:

[java] view plaincopy
  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()方法时,才创建对象。

完整代码如下:

[java] view plaincopy
  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. }  
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
0 0