Java支持默认参数值吗?

时间:2012-12-13 16:57:17

标签: java methods parameters overloading default-value

  

可能重复:   Does Java support default parameter values?

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

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

但是,如果我想用Java制作它,那么它是否可能。目前我正在做如下

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

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

2 个答案:

答案 0 :(得分:13)

Java无法实现,但您希望您可以使用Builder Pattern this Stack Overflow answer

如答案参考中所述,Builder Pattern允许您编写类似

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

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

答案 1 :(得分:2)

没有。 Java不支持此功能。

Does Java support default parameter values?