付鑫鑫 发表于 2013-4-27 09:03 ![]()
为什么要把构造函数私有化
因为要保证对象的唯一性,如果在其他类中,不断的new该类对象,那就不能保证对象的唯一性了!
例如:class SingleDemo
{
public static void main(String[] args)
{
//为什么要把构造函数私有化,因为要保证对象的唯一性;
Single s1 = new Single();
Single s2 = new Single(); //这样不断new对象,保证不了对象的唯一性。
Single2 s = new Single2(); //如果类的构造函数私有化了,这样就不能new函数了。这样保证了唯一性。
}
}
class Single
{
}
class Single2
{
private Single2(){}
} |