0
package mainData;

public class Hello{
    public void Hello(String sData, int ... nAges){
        for(int x : nAges){
            System.out.println(sData + " " + x);
        }
    }

    public static void main(String args[]){
        Hello ages = new Hello("Age: ", 5, 6, 7, 8);
    }
}

当我更改构造函数(Hello > Hello2)时,此代码运行没有问题。但是为什么这段代码不起作用?

4

2 回答 2

9

您正在定义一个名为Helloreturn type的方法void构造函数没有返回类型;改用以下内容:

public Hello(String sData, int ... nAges) {
    for (int x : nAges) {
        System.out.println(sData + " " + x);
    }
}
于 2012-08-24T22:15:52.580 回答
2

void从您的构造函数中删除,它应该可以工作如果你给出一个返回类型,那么你是在创建一个方法,而不是一个构造函数。

怀疑当您重命名HelloHello2. 它可以编译和执行,但不会打印出nAges参数。请注意,编译不是正确性的充分测试。

于 2012-08-24T22:16:34.447 回答