我已经遇到了类,并且显示了相应的构造函数:
public class Something{
public static final int aConstant = 0;
public static final int bConstant = 1;
private final AnotherThing[] otherObjects
private final float usefulNumber;
public Something(float usefulNumber, AnotherThing ... otherObjects){
this.usefulNumber = usefulNumber;
this.otherObjects = otherObjects;
}
//various methods
}
当我将它放入Eclipse时,不会显示任何错误。我认为“......”是某种运算符,但我不确定。任何人都可以澄清这是否是什么,或者只是表明时间被保存了? (省时没有任何意义,因为班级只有两个属性)
答案 0 :(得分:4)
这些被称为可变参数。
从代码中可以看出,它们是以数组形式出现的。
您可以为otherObjects
传递不同数量的参数。
答案 1 :(得分:3)
这是一个告诉Java的方法或构造函数可以采用可变数量的参数的符号。它只能在最后一个参数类型之后使用。
需要...
之前的参数:调用者必须为每个参数指定一个表达式。然而,其余参数是可选的:呼叫者可以指定零,一,二,三或任意多个参数。这些参数将作为单个数组传递给方法或构造函数。
在您的示例中,可以使用与呼叫者希望的AnotherThing
一样多的实例进行呼叫。这是显式传递数组的语法简写:
public Something(float usefulNumber, AnotherThing[] otherObjects) ...