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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

class single
{
        private single(){};//为了其他方法建立本类对象 ,可以将构造函数私有化 ,防止其他函数建立对象
        private single s=new single();//本类建立本类对象 并且私有 因为这是本类特有的数据 因此要私有
        public static single getSingle()//提供访问对象的方法
        {
                return s
        }

}
class single//饿汉式 延时加载 容易出现安全问题 用同步来处理
{
        private single(){};
        private single s=null;
        public static single getSingle()

        {
                if(s==null)
                        synchronized(single.class)
                {

                        if(s==null)
                                s=new single();
                }
                return s;
        }
}

评分

参与人数 1黑马币 +6 收起 理由
呼啸而过 + 6 赞一个!

查看全部评分

3 个回复

倒序浏览
fantacyleo 来自手机 金牌黑马 2015-3-1 02:46:53
沙发
单例实现方式的水还是有那么点儿深的 初学没必要太纠缠 把老毕视频里提到的掌握好即可
回复 使用道具 举报
你  编译应该过不了的   静态怎么可以调用非静态啊
回复 使用道具 举报
你的代码应该是这样吧,建议你下次粘贴代码用“<>”,就可以粘贴代码,方便点。
  1. class single
  2. {
  3.         private single(){};//为了其他方法建立本类对象 ,可以将构造函数私有化 ,防止其他函数建立对象
  4.         private static single s=new single();//本类建立本类对象 并且私有 因为这是本类特有的数据 因此要私有
  5.         public static single getSingle()//提供访问对象的方法
  6.         {
  7.                 return s;
  8.         }

  9. }

  10. class single2//饿汉式 延时加载 容易出现安全问题 用同步来处理
  11. {
  12.         private single2(){};
  13.         private static single2 s=null;
  14.         public static single2 getSingle()

  15.         {
  16.                 if(s==null)
  17.                         synchronized(single.class)
  18.                 {

  19.                         if(s==null)
  20.                                 s=new single2();
  21.                 }
  22.                 return s;
  23.         }
  24. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马