黑马程序员技术交流社区
标题:
由单例模式 引发的感想,
[打印本页]
作者:
heheka123
时间:
2014-3-28 17:32
标题:
由单例模式 引发的感想,
学到单例设计模式,看到这个代码:
class Single{
private Single(){
}
private static Single s = new single();
public static Single getInstance(){
return s;
}
}
复制代码
为什么类的内部会实例化自己呢?是因为构造函数私有了,不能实例化,只能通过静态方法做入口来调用的原因吗? 那如果构造方法不私有,是不是就会出现递归new对象了, 系统会不会崩溃呢?
这个问题困惑啊, 求解答
作者:
xuehuayous
时间:
2014-3-28 17:45
构造函数不私有也可以创建对象的。
class Test {
Test t = new Test();
}
复制代码
作者:
yanzhendong
时间:
2014-3-28 17:49
即使构造函数私有,仍可以出线递归new对象,关键看你怎么操作,就行这样:
作者:
yanzhendong
时间:
2014-3-28 17:51
class Single{
private Single(){
}
private static Single s = new single();
public static Single getInstance(){
s=new Single();
return getInstance();
}
}
复制代码
作者:
yanzhendong
时间:
2014-3-28 17:53
出现递归的原因是函数调用函数本身,如果没有结束调用的判断条件的话,就会出现无限递归调用,
作者:
heheka123
时间:
2014-3-28 18:46
我知道怎么回事了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2