我正在Codecademy上通过java进行调试,并在一个非常简单的文件中得到了与构造函数参数有关的错误消息。
我搜索了其他类似的问题/答案,但它们与缺少参数有关,我认为这里不是这种情况。
public class Droid {
//parameters
int batteryLevel=100;
String name;
//constructor
public void Droid(String droidName){
name=droidName; }
//main
public static void main(String []args){
Droid robot1 = new Droid("Jack");
System.out.println(robot1);
}
错误:Droid类中的构造函数Droid无法应用于给定类型;
Droid robot1 = new Droid(“ Jack”);
^
必需:无参数
找到:字符串
原因:实际和正式论点清单的长度不同
1个错误
最佳答案
从构造函数中删除返回类型:
public Droid(String droidName){
name=droidName; }
见Why do constructors not return values
构造函数不返回值的原因是因为它不是由代码直接调用的,而是由运行时中的内存分配和对象初始化代码调用的。