好的,所以我正在尝试学习如何使用多个构造函数,并且不能完全理解为什么调用这些不同的方法不起作用 - 实际上第一个方法不会编译。
感谢您的关注......
// Compile error here. I'm trying to call the 2nd Counter method with default values.
public void Counter() {
this.Counter(0, false);
}
// Here I'm trying to enable a call to the Counter method with integer and boolean attributes in its call.
public Counter(int startingValue, boolean check) {
this.startingValue = startingValue;
this.check = check;
}
答案 0 :(得分:5)
原因是你的第一个Counter
"构造函数"根本不是构造函数 - 它是一个void
返回类型的方法。
通过删除返回类型使其成为构造函数。
public Counter() {
this(0, false);
然后你可以用this
调用另一个构造函数。
答案 1 :(得分:1)
仅使用此(0,false)代替this.Counter(0,false);
public Counter() {
this(0, false);
}
Counter(int startingValue, boolean check) {
this.startingValue = startingValue;
this.check = check;
}