黑马程序员技术交流社区

标题: 单例设计模式的提问 [打印本页]

作者: deng2242    时间: 2015-8-15 23:19
标题: 单例设计模式的提问
如:
1.        class Single{
2.               //类已加载,对象就已经存在了
3.               private static Single s = new Single();
4.       
5.               private Single(){}
6.       
7.               public static Single getInstance(){
8.                     return s ;
9.              }
10.        }
那么如何让这个对象在内存中消失?
作者: wang949055945    时间: 2015-8-16 01:50


1.        class Single{
2.            
3.               private static Single s =null;
4.        
5.               private Single(){}
6.        
7.               public static Single getInstance(){
8.                    if (s==null)
                           return  new Single();
9.              }
10.        }
作者: fmi110    时间: 2015-8-16 09:36
自动回收吧  当没有变量再引用这个对象时,jvm会自动销毁对象
作者: sunsteam    时间: 2015-8-16 13:30
wang949055945 发表于 2015-8-16 01:50
1.        class Single{
2.            
3.               private static Single s =null;

这不能这么省略吧  你又没把new single()赋值给S  下次判定S还是等于null  而且假设S不等于空  这个方法不是没有返回语句了么




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