Java支持默认参数值吗?

13

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

假设我想在C++中设置默认参数值,那么我们可以按照下面的方式表达它。

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

但是如果我想用Java来实现这个,那么有可能吗?目前我正在按照以下方式进行

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

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

1
回答问题时的右栏会建议可能重复的内容,请在发布前检查。 - Luchian Grigore
2个回答

19

在Java中不可能实现,但是我们可以使用生成器模式,这被称为这个 Stack Overflow 的答案

如答案所述,生成器模式允许您编写类似以下代码的内容:

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

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


5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接