【发布时间】:2014-11-23 15:57:16
【问题描述】:
我一直在阅读 the article 关于构造函数的内容,其中写的是:
公共类同样可以防止在外部创建实例 通过声明至少一个构造函数来防止创建它的包 具有公共访问权限的默认构造函数,并通过声明 no 构造函数是公共的。
我对声明没有公开的构造函数感到困惑。这是因为如果我们根本不声明任何构造函数,则隐式声明的默认构造函数将使用类的访问修饰符隐式声明。这意味着如果类声明为公共,则默认构造函数也将是公共的。那就是我们可以在包外使用它(在包外创建实例)。
【问题讨论】:
-
句子“不声明任何公共构造函数”的意思是“不声明任何公共构造函数”。 JLS 中的措辞可以更清楚。
标签: java constructor