2012-12-13 135 views
4

可能重复: Does Java support default parameter values?Java是否支持默认参数值?

假设我想在C++缺省参数值,那么我们就可以如下表达出来。

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

但是,如果我想在Java中做到这一点,那么是否有可能。目前我正在做如下操作

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

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

当您回答问题时,右栏显示可能有重复。发布前请检查它。 –

回答

12

这是不可能的Java,但你想,你可以使用Builder Pattern,据说这是this Stack Overflow answer

正如答案参考,Builder模式可以让你写这样

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

代码在某些领域可以有缺省值或以其他方式是可选的。

+1

+1替代 –

+0

@DougT。多谢兄弟。 –