前段时间接触到单例设计的问题,一般单例设计都是要将构造函数设为私有化,使其无法被new出来,然后再创建返回值为本类对象的函数(static),再将早已经创建好的本类实例化对象(static)作为该函数的返回值,这样就实现了单例,意思为,只能有一个本类对象存在,下面的代码可以说明这点
public class Moon {
//私有的构造函数
private Moon() {}
//本类实例化对象,静态, 私有
private static Moon moon = new Moon();
//获取本类对象的方法,静态,公开
public static Moon getInstance() {
return moon;
}
}
我现在想问,这样设计有什么好处吗,在哪种情况下能用到呢?
|