Java中的构造函数可以私有吗?

构造函数可以私有吗?私有构造函数有什么用?



largeQ
浏览 1442回答 3
3回答

心有法竹

我希望有人会提到这一点(第二点),但是..私有构造函数有三种用法:在以下情况下,以防止在对象外部实例化:单身人士工厂方法仅静态方法(实用程序)类仅常量类。防止超载(扩展)。如果仅创建一个私有构造函数,则没有任何类可以扩展您的类,因为它不能调用super()构造函数。这是的同义词final重载的构造函数-由于方法和构造函数的重载,有些可能是私有的,有些则是公共的。尤其是在构造函数中使用非公共类的情况下,可以创建一个公共构造函数,该公共构造函数创建该类的实例,然后将其传递给私有构造函数。

湖上湖

是。这样,您就可以控制如何实例化该类。如果将构造函数设为私有,然后创建一个可见的构造函数方法来返回该类的实例,则可以执行一些操作,例如限制创建的数量(通常,保证只存在一个实例)或回收实例或其他与建筑相关的任务。否则new x()永远不会返回null,但使用工厂模式,可以退货null,甚至返回不同的亚型。您也可以将其用于没有实例成员或属性,而只有静态成员的类,例如在实用程序函数类中。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java