构造函数被私有化就没办法直接new一个对象

个人理解:把构造函数私有化(private),构造函数就不能通过外部访问,构造函数不能访问,自然就不能通过new创建一个新对象。(new对象时,一定会初始化,即调用构造函数)

作用:在单例设计中,Singleton类在定义的时候将构造方法私有化,而在内部仅仅new出一个对象,是为了禁止别的类在外面直接new Singleton()出来,这样你只要在Singleton类中new一个对象,就能确保无论什么情况都只会产生一个Singleton对象,外部无法new出来,内部已经定义好了,有且仅有一个对象,这就是单列设计的核心。;单例设计模式目标是保证一个类在内存中对象的唯一性。所以要保证自己的类中创建了对象之后,其他的类不能再创建对象,只能获取这个对象。所以只要将本类中的构造函数私有化,其他程序就无法再创建该类对象。

你可能感兴趣的:(私有化)