我一直在读the article有关构造函数,什么已经写有:预防对象类创建
公共类同样可以防止实例的创建外 其包通过声明至少一个构造函数,以防止创建具有公共访问权的默认构造函数 ,并声明不存在公共的 构造函数。
我很困惑声明没有构造函数是公开。这是因为如果我们完全不声明任何构造函数,那么隐式声明的默认构造函数将会隐式地声明为具有该类的访问修饰符。这意味着如果该类声明为public,则默认构造函数也将公开。这就是我们可以在包外部使用它(在包外创建实例)。通过宣布至少有一个构造
这是什么原因造成的默认构造函数被创建
:
的一句“声明没有构造函数是公众”是指“未宣布任何公共构造函数“。本来可以在JLS中更清楚地表达出来。 – Jesper 2014-11-23 07:56:47