带有可选参数的Java构造函数/方法?

标签 java constructor

Possible Duplicate:
Java optional parameters

我知道在 PHP 中,如果你想调用一个参数更少的函数,你可以像这样声明函数:

function foo(int param1, int param2 = "2");

现在我可以调用 foo(2) 并且 param2 将被设置为 2。

我尝试在 Java 构造函数中执行此操作,但似乎不可能。有没有办法做到这一点,或者我只需要声明两个构造函数?

谢谢!

最佳答案

Java 在构造函数或方法中没有具有默认值的可选参数的概念。你基本上被重载所困。但是,您可以轻松链接构造函数,因此您无需重复代码:

public Foo(int param1, int param2)
{
    this.param1 = param1;
    this.param2 = param2;
}

public Foo(int param1)
{
    this(param1, 2);
}

关于带有可选参数的Java构造函数/方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7428039/

相关文章:

javascript - 当需要一个类并调用另一个方法中的方法时,到底发生了什么?

c# - 用于序列化的无参数构造函数与具有默认参数的构造函数相结合,为什么它有效?

java - 使用并发包中的同步器。 FutureTask 总是返回 null

java - 在java中使用CP1252编码解码Inputsteam

java - Jersey 序列化/反序列化问题 : abstract types can only be instantiated with additional type information

java - Java构造函数困惑

JavaFX - 从子 Controller 到达主 Controller

java - 即使没有任何抽象方法,类也可以是抽象的吗?如果是有什么用?

c++ - 如何实现构造函数,使其只接受使用 typeid 的输入迭代器?

Java - 将对象作为构造函数中的参数传递......来自父类(super class)