我可以在构造函数中设置默认参数值吗?

时间:2012-04-27 11:57:17

标签: java

我可以在Construct函数中设置默认参数值 ?

public class XLSReader {
  public XLSReader(String filename="XYZ.xls") {
  }
}

3 个答案:

答案 0 :(得分:3)

没有。 Java不支持可选参数。您可以使用重载和链接:

public XlsReader() {
    this("XYZ.xls");
}

public XlsReader(String filename) {
    // Use filename here
}

(这适用于方法和构造函数。)

答案 1 :(得分:2)

不,你不能。 Java不支持默认参数。

答案 2 :(得分:2)

不,你不能,但你可以做的是拥有2个这样的构造函数:

public class XLSReader {
  String filename;

  // constructor with a filename argument
  public XLSReader(String filename) {
     this.filename = filename;
  }

  // default constructor will fill-in "default value" XYZ.xls
  public XLSReader() {
     this.filename = "XYZ.xls";
  }
}