【发布时间】:2011-06-08 06:48:05
【问题描述】:
我有几个关于 Java 构造函数的问题
- 构造函数可以是私有的吗?如果是,那么在什么情况下?
- 构造函数是不是方法?
- 如果构造函数不返回任何内容,那么为什么我们每次调用它时都会得到一个新对象?
- 如果我们不指定,构造函数的默认访问修饰符是什么。
编辑
1 和 3 的答案非常明确。我仍然不确定 2 和 4,因为我得到了不同的答案。
【问题讨论】:
-
是的。我建议在serverfault.com 上询问有关 Tomcat 的部分
-
@Chris:好的,会的。谢谢
-
对于#4,共识似乎是包私有的。指定 public 的答案只是部分正确,因为公共可见性仅限于包。 #2 看起来也像共识:它是一种方法。这些解释只是使用了不同的术语。
-
对于#4,默认不是包私有(即默认)。所有类都扩展了 java.lang.Object,其中包含一个公共构造函数,通过继承,子类继承了这个公共构造函数。因此,答案是公开的。如有疑问,请进行测试。
标签: java constructor