Java-错误:返回类型不兼容
我正在学习Java。我试图运行代码,但出现此错误:return type is incompatible
。它向我显示错误的代码部分。
class A { public void eat() { }
}
class B extends A {
public boolean eat() { }
}
为什么会这样呢?
回答:
这是因为在类中不能有两个具有相同名称但返回类型不同的方法。
子类不能使用与返回类型不同的超类中已经存在的方法相同的名称声明方法。
但是,子类可以声明具有与超类相同的签名的方法。我们称此为“覆盖”。
你需要这个
class A { public void eat() { }
}
class B extends A {
public void eat() { }
}
要么
class A { public boolean eat() {
// return something...
}
}
class B extends A {
public boolean eat() {
// return something...
}
}
一个好的做法是通过注释标记覆盖的方法@Override
:
class A { public void eat() { }
}
class B extends A {
@Override
public void eat() { }
}
以上是 Java-错误:返回类型不兼容 的全部内容, 来源链接: utcz.com/qa/419278.html