public class Single { public static Single s = new Single(); private Single() {} } public class SingleDemo { public static void main(String[] args) { Single s1=Single.s; } } |
昝文萌 发表于 2013-9-5 12:23
这样的话你在主函数里多次调用Single.s的话,会创建多个对象!
夏天那抹蓝╮ 发表于 2013-9-5 13:00
假设single有子类的话,那我执行
Single.s = new SubSingle();
不就把那个改了。
神之梦 发表于 2013-9-5 21:58
Single.s=null;
杨增坤 发表于 2013-9-5 22:32
我明白了,懂了,如果这样写的话,就能够设置单例中的对象,那么就把对象暴露了是吧!
说到点子上了!
...
张文豪 发表于 2013-9-8 09:19
为什么说写Single.s=null,就能够设置单例中的对象,就把对象暴露了呢?? 求详细解答。
是说Single s1= ...
hmwudizl91zl 发表于 2013-9-8 08:25
不对吧,你应该把类的构造方法设置成私有的,因为单例模式不能被类外的创建对象,需要加上private,其中stat ...
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |