大家都在求大神,很有压力,我不是大神,路过,看一下。
首先,return语句有问题。所谓单例就是只有一个实例,而你这个表达式出来的结果,每次都会创建一次对象。
return (s==null)?new Single():s;
因为在return语句中,并没有把创建的对象赋给s,所以s永远都是null,这样一来,每次“s==null”的判断都是true,每次都返回一个new Single(),所以这并没有满足单例模式。将这个表达式改成下面这样,应该就可以了:
return (s==null)?(s=new Single()):s;
像我们初学者,我不建议用这种表达式,还是现按部就班的打好基础吧! |