我开始学习Java,遇到了一个我无法解决的问题。我有一个带有构造函数的名为 MyClass 的类。我想将该构造函数设置为访问私有(private)字段:
public class MyClass{
private long variable1;
public MyClass(long variable1){
this.variable1=variable1;
}
public long somethingElse(Argument argument){
return somevalue;
}
}
当我删除构造函数时,我可以从另一个类调用 somethingElse。但是,当我尝试一些类似的东西时
data = new MyClass();
return data.somethingElse(argument);
我在 data = new MyClass() 处收到一个错误,实际参数和形式参数的长度不同,并且“需要很长,但没有找到参数”。我该如何解决这个问题?
最佳答案
来自 here :
The compiler automatically provides a no-argument, default constructor for any class without constructors
当您显式添加构造函数时,您会覆盖默认的无参数构造函数。因此,要取回它,只需手动添加它:
public class MyClass{
private long variable1;
// This is what you need to add.
public MyClass() {
}
public MyClass(long variable1){
this.variable1 = variable1;
}
public long somethingElse(Argument argument){
return somevalue;
}
}
关于java - 实际参数和形式参数长度不同 - Java 构造函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30228893/