【发布时间】:2017-11-16 01:45:21
【问题描述】:
我使用 Java 的大部分经验都是在课堂环境中编辑我自己的代码。我终于冒险进入破译他人密码的激动人心的世界,我想知道这一点:
public class MyClass {
// Some fields here
// A constructor there
// Setters and getters abound
public static MyClass create() {
return new MyClass();
}
}
我想知道这种方法的目的是什么。写MyClass foo = new MyClass(); 似乎并不比写MyClass foo = MyClass.create(); 更麻烦。这是我不知道的某种 Java 习语吗?完全没有必要吗?在构造函数带有任何参数的类中,它可能会更有用吗?有什么关系?
谢谢!
【问题讨论】:
-
也许这段代码的作者不希望任何人显式调用他的构造函数。
create方法让作者只公开他希望所有人看到的内容。这段代码中的构造函数是公有的还是私有的? -
它是一个公共构造函数
-
那样的话也没用。
标签: java constructor