黑马程序员技术交流社区

标题: 单例设计 [打印本页]

作者: 紫幻随影-缪    时间: 2014-6-5 11:24
标题: 单例设计
我用老师的方法写单例不会报错,如下:
  1. class Single{
  2.                
  3.         private Single(){}  //将构造函数私有化
  4.         private static Single single=new Single(); //在类中创建一个本类对象

  5.         public static Single getInstance(){ // 提供一个方法可以获取到该对象的方法
  6.        
  7.                 return single;
  8.         }
  9. }
复制代码

但是如果把
private static Single single=new Single();
写成
private static Single single;      //这行会报错误,这是啥原因呢??
single=new Single();





作者: 李小然    时间: 2014-6-5 11:52
single=new Single();
这是一个赋值语句

赋值语句要出现在方法内
不能直接出现在类中

所以报错
作者: 紫幻随影-缪    时间: 2014-6-5 12:26
李小然 发表于 2014-6-5 11:52
single=new Single();
这是一个赋值语句

那一种在声明变量时就赋值不是也属于赋值语句?
作者: 李小然    时间: 2014-6-5 12:35
紫幻随影-缪 发表于 2014-6-5 12:26
那一种在声明变量时就赋值不是也属于赋值语句?

声明时赋值,属于显示初始化
是初始化中的一种
不属于赋值语句




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2