构造函数不能在java中工作
如果我试图将参数放在下一行,我会得到一个错误构造函数不能在java中工作,java,constructor,Java,Constructor,如果我试图将参数放在下一行,我会得到一个错误 Sum s1 = new Sum(1,5,6); 当有一个名为Sum的构造函数有3个参数时,为什么会出现这个错误 package test; class Sum { double num1,num2,num3; double[] result = new double[4]; double[] Sum(int num1,int num2, int num3) { this.num1 = num1;
Sum s1 = new Sum(1,5,6);
当有一个名为Sum的构造函数有3个参数时,为什么会出现这个错误
package test;
class Sum {
double num1,num2,num3;
double[] result = new double[4];
double[] Sum(int num1,int num2, int num3) {
this.num1 = num1;
this.num2 = num2;
this.num3 = num3;
result[0] = num1;
result[1] = num2;
result[2] = num3;
result[4] = num1+ num2 + num3;
return result;
}
}
public class Test {
public static void main(String[] args) {
Sum s1 = new Sum(1,5,6);
}
}
这是错误的(长度为4的数组具有从0到3的索引):
改为
result[3] = num1+ num2 + num3;
除此之外,构造函数不应该有返回值
改变
double[] Sum(int num1,int num2, int num3)
到
并删除return语句
总之,构造函数应该如下所示:
Sum(int num1,int num2, int num3) {
this.num1 = num1;
this.num2 = num2;
this.num3 = num3;
result[0] = num1;
result[1] = num2;
result[2] = num3;
result[3] = num1+ num2 + num3;
}
不是构造函数
您希望改为使用此选项:
public Sum(int num1,int num2, int num3)
以下是一个承包商的示例:
您的构造函数有返回类型,构造函数没有返回语句。你需要改变
public Sum(int num1,int num2, int num3) {
this.num1 = num1;
this.num2 = num2;
this.num3 = num3;
result[0] = num1;
result[1] = num2;
result[2] = num3;
result[3] = num1+ num2 + num3;
}
构造函数不返回任何值 构造函数不支持任何返回类型。甚至不是空的
默认情况下,隐式返回类型是声明它的类类型。您应该创建包含3个int参数的构造函数,如下所示:
...
private int num1, num2, num3;
public Sum(int a, int b, int c) {
this.num1 = a;
this.num2 = b;
this.num3 = c;
}
你比我快了一秒钟:德索里,伙计,我想我只是意外地编辑了你的答案谢谢…我怎么能忘记你应该更清楚,“一个错误”不是一个合适的错误描述。
public Sum(int num1,int num2, int num3)
public Sum(int num1,int num2, int num3) {
this.num1 = num1;
this.num2 = num2;
this.num3 = num3;
result[0] = num1;
result[1] = num2;
result[2] = num3;
result[3] = num1+ num2 + num3;
}
...
private int num1, num2, num3;
public Sum(int a, int b, int c) {
this.num1 = a;
this.num2 = b;
this.num3 = c;
}