为什么我为“this(10)”收到此错误,即使第一个语句是构造函数调用。我正在使用eclipse。
public class MaxIndependentSet {
private ArrayList<Integer> inputArr = new ArrayList<Integer>();
public void MaxIndependentSet(int size) {
inputArr.ensureCapacity(size);
}
public void MaxIndependentSet() {
this(10);
}
}
答案 0 :(得分:10)
您在构造函数中添加了错误的返回类型void
。
构造函数的返回类型是它的类类型,它是隐式声明的,如下所示:
public MaxIndependentSet() {
// blah
}
答案 1 :(得分:1)
public void MaxIndependentSet() {
this(10);
}
在您的代码中添加了void类型,但它是一个构造函数。
构造函数和方法在签名的三个方面有所不同:修饰符,返回类型和名称。与方法类似,构造函数可以具有任何访问修饰符:public,protected,private或none(通常称为包或友好)。与方法不同,构造函数只能使用访问修饰符。因此,构造函数不能是抽象的,最终的,本机的,静态的或同步的。
构造函数没有返回类型,甚至无效。
只需编写代码
public MaxIndependentSet() {
this(10);
}