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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 白小马 中级黑马   /  2015-1-27 07:52  /  959 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

看视频之余看到了下面这句话  不知道这句话是什么意思
哪位大神解答一下
private static Single s = null;

2 个回复

倒序浏览
本帖最后由 邓士林 于 2015-1-27 08:18 编辑

这是毕老师在讲解单例设计模式时使用的,目的是做到解决一个类在内存中只存在一个对象的问题。单例设计模式中又分为饿汉式和懒汉式,一般我们采用的是饿汉式。
实现的思路就是:

1、为了实现只有一个对象,就必须禁止其他程序建立对象。

2、为了让其他程序访问到类对象,在本类中定义一个对象。

3、为了使其他程序对自定义对象访问,可以对外提供访问方式。


  1. /**
  2. 饿汉式
  3. */
  4. class Single
  5. {
  6.         private static Single s=new Single();
  7.         private Single(){};
  8.         public Single getInstance()
  9.         {
  10.                 return this.s;
  11.         }
  12. }

  13. /**
  14. 懒汉式
  15. */

  16. class Single
  17. {
  18.         private static Single s=null;
  19.         private Single(){}
  20.         public static Single synchronized getInstance()
  21.         {
  22.                 if(this.s==null)
  23.                 {
  24.                         this.s=new Single(0;
  25.                 }
  26.                 return this.s;
  27.         }
  28. }

  29. /**
  30. 懒汉式,
  31. */

  32. class Single
  33. {
  34.         private static Single s=null;
  35.         private Single(){}
  36.         public static Single getInstance()
  37.         {
  38.                 if(this.s==null)
  39.                 {
  40.                         synchronized(Single.class)
  41.                         {
  42.                                 if(s==null)
  43.                                 {
  44.                                         s=new Single();
  45.                                 }
  46.                         }
  47.                         this.s=new Single(0;
  48.                 }
  49.                 return this.s;
  50.         }

  51. }
复制代码



回复 使用道具 举报
创建私有并静态的本类对象  只不过这个对象指向了空  对象的延迟加载
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马