11

可能重复: Java 是否支持默认参数值?

假设我想在 C++ 中设置默认参数值,那么我们可以如下表示。

void functionName(char *param1, int param2=2);

但是如果我想用 Java 做这个,那有可能吗。目前我正在做如下

public functionName(String param1)
{
    this(param1, 2);
}

public functionName(String param1, int param2)
{
..........
}
4

2 回答 2

17

这是不可能的Java,但我们可以使用Builder Pattern,这就是 Stack Overflow 的答案

如答案参考中所述,构建器模式允许您编写代码,例如

Student s1 = new StudentBuilder().name("Eli").buildStudent();
Student s2 = new StudentBuilder()
                 .name("Spicoli")
                 .age(16)
                 .motto("Aloha, Mr Hand")
                 .buildStudent();

其中一些字段可以有默认值或者是可选的。

于 2012-12-13T16:59:01.043 回答
4

不可以。Java 不支持此功能。

Java 是否支持默认参数值?

于 2012-12-13T16:58:10.843 回答