java - 虽然构造函数需要参数我仍然可以在没有它们的情况下调用它

标签 java constructor variadic-functions

<分区>

public class DenseVector extends AbstractVector implements Vector {

  public DenseVector(int n) { .. } 

  public DenseVector(Vector v) { .. }

  public DenseVector(double... elements) { .. }

}

为什么我可以在没有参数的情况下调用带有可变参数的构造函数?

DenseVector v = new DenseVector() // calls DoubleVector(double... elements)

AbstractVector 根本没有手动提供的构造函数。

最佳答案

可变参数接受任意数量 的参数。包括没有。

如果你想要一个或多个,一个常见的(有点笨拙的)模式是

public DenseVector(double element, double... moreElements)

关于java - 虽然构造函数需要参数我仍然可以在没有它们的情况下调用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48702900/

相关文章:

Java:如果单击任何单选按钮,则从适配器获取信息到 Activity

haskell - GHC-7.6 中的数据构造函数升级

java - 在 Java 的构造函数中初始化 Map 的更好方法

struct - 如何在 Julia 中初始化/构造深层嵌套结构?

java - 为什么主函数重载没有冲突?

generics - 具有任何参数列表的函数的通用仿函数

scala - 如何编写 "orElse"的惰性可变参数版本

java - 在 Java 中对泛型类型参数调用静态方法

java - C3P0 的多个数据源

java - Minecraft 如何存储其音乐文件?