单例模式的懒汉式,为什么要先设置s为null然后加if(s==null)判断
class Single
{
private static Single s = null;
private Single(){}
public static Single getInstance()
{
if(s==null)
s = new Single();
return s;
}
}
按毕老师视频说的,这段代码本身就存在安全隐患,这涉及到多线程,这点楼主可把老师那两个单例模式的视频再仔细看下。
至于private static Single s = null;先把值设置为空,这也是保证程序的健壮性,在后期使用程序的过程中可能会出现各种各样的问题,不先给s初始化一个值,可能会导致程序出问题。