什么是;创建;java中的平均值

什么是;创建;java中的平均值,java,Java,我试图在这里和网上找到它,但我找不到 我在代码中有类似的内容: private static myClassName create(listOfArguments) {} 对我来说,它看起来像是myClassName构造函数,但普通构造函数看起来有点不同。这个create的确切含义是什么?它的作用是什么?它只是一个私有的“工厂”方法,可能在内部调用构造函数 就像这样:私人的 意义;通常,您会将代码编写为: MyClass whatever = new MyClass(args ... 使用这

我试图在这里和网上找到它,但我找不到

我在代码中有类似的内容:

private static myClassName create(listOfArguments) {}

对我来说,它看起来像是myClassName构造函数,但普通构造函数看起来有点不同。这个create的确切含义是什么?它的作用是什么?

它只是一个私有的“工厂”方法,可能在内部调用构造函数

就像这样:私人的

意义;通常,您会将代码编写为:

MyClass whatever = new MyClass(args ...
使用这种方法,您可以编写

MyClass whatever = create(args ...
这就是一切


我认为有这样一种方法的一个很好的理由是:避免代码重复。当您的代码中有10条新语句时,那么一个更改意味着涉及10行。当您拥有这个create方法时,该方法中可能包含一些更改。尽管如此使用静态私有工厂方法是一种非常罕见、令人惊讶的模式

它只是一个方法,其中
create
是一个名称,
myClassName
是一个返回类型,
private
static
-访问修饰符
create
这里是一个方法名称

有一种模式称为
工厂方法
,如下所示:

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);
    }
}

正如其他人所指出的,
create
在Java中没有任何特殊意义——这只是一个普通的方法。在这种情况下,该方法不执行任何操作,甚至不会编译,因为它不返回需要返回的类型,但它仍然只是一个普通方法。

它表示您希望它表示的任何意思,虽然为了清晰起见,最好是创建一些东西,这取决于你要剪掉的括号内的内容:-)这是你展示给我们的方法的名称。它的意思是:你可以称它为土豆。行为不是来自命名方法。那边是另一条路。@qbrut。