我试图在这里和网上找到它,但我不能。
我在代码中有这样的东西:
import
它看起来像是myClassName构造函数,但普通构造函数看起来有点不同。这个创建究竟是什么意思,它的含义是什么?
答案 0 :(得分:1)
除了私人"工厂"可能在内部调用构造函数的方法。
与Optional.of()类似,只是:私人。
含义;通常你会把代码写成:
MyClass whatever = new MyClass(args ...
使用该方法,您可以编写
MyClass whatever = create(args ...
这就是全部。
一个我认为有这样一个方法的好理由:避免代码重复。如果代码中有10个新语句,则更改即表示触及10行。当您拥有该create方法时,该方法中可能包含一些更改。尽管如此;拥有静态 私有工厂方法是一种相当罕见,令人惊讶的模式。
答案 1 :(得分:1)
create
这是方法名称。
有一种名为Factory method
https://en.wikipedia.org/wiki/Factory_method_pattern的模式,如下所示:
public class MyClass {
private MyClass(String arg) {
// ... init
}
public static create(String arg) {
return new MyClass(arg);
}
}
如果您必须拥有(或希望拥有)适合所有案例的构造函数,那么它可能会很有用。 (例如,集中构建代码)。使用这样的通用构造函数可能不是很方便,因此您可以创建一些工厂方法:
public class StringOrDate {
private final String string;
private final Date date;
private StringOrDate(String string, Date date) {
this.string = string;
this.date = date;
}
pubilc static createString(String string) {
return new StringOrDate(string, null);
}
pubilc static createDate(Date date) {
return new StringOrDate(null, date);
}
}
答案 2 :(得分:0)
这只是一种方法,其中create
是名称,myClassName
是返回类型,private
static
- 访问修饰符
答案 3 :(得分:0)
正如其他人所指出的,create
在Java中没有任何特殊含义 - 这只是一种普通的方法。在这种情况下,该方法不执行任何操作,甚至不会编译,因为它不会返回它返回所需的类型,但它仍然只是一种普通方法。