java中的“创建”意味着什么

时间:2017-04-12 09:02:48

标签: java

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

我在代码中有这样的东西:

import

它看起来像是myClassName构造函数,但普通构造函数看起来有点不同。这个创建究竟是什么意思,它的含义是什么?

4 个答案:

答案 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中没有任何特殊含义 - 这只是一种普通的方法。在这种情况下,该方法不执行任何操作,甚至不会编译,因为它不会返回它返回所需的类型,但它仍然只是一种普通方法。