有人可以告诉我这里有什么不对吗????
package javaapplication2;
public class JavaApplication2{
int number;
public int JavaApplication2(int number){
this.number = number;
return number;
}
public static void main (String[] args){
JavaApplication2 object = new JavaApplication2(2); // This line generates error
}
}
我得到错误:
类JavaApplication2中的构造函数JavaApplication2无法应用于给定类型??????????
答案 0 :(得分:3)
构造函数的语法不正确。构造函数没有返回类型。所以你定义的是常规方法。然后,当您尝试构造对象的实例时,编译器可以找到的唯一构造函数是不带参数的默认构造函数。
这是一个可能的解决方法:
package javaapplication2;
public class JavaApplication2{
int number;
public JavaApplication2(int number){
this.number = number;
}
public static void main (String[] args){
JavaApplication2 object = new JavaApplication2(2);
}
}
或许你真的认为JavaApplication2是一种方法。那么你唯一的选择就是调用默认的构造函数。
package javaapplication2;
public class JavaApplication2{
int number;
public int JavaApplication2(int number){
this.number = number;
return number;
}
public static void main (String[] args){
JavaApplication2 object = new JavaApplication2();
}
}
然而,这将是非常奇怪的。至少你想要重命名你的方法。
答案 1 :(得分:0)
构造函数不是常规方法,并且不返回任何内容。试试这个:
public JavaApplication2(int number){
this.number = number;
}