gpt4 book ai didi

Java - 错误 : return type is incompatible

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:06:28 24 4
gpt4 key购买 nike

我正在学习 Java。我试图运行代码,但出现此错误:return type is incompatible。显示错误的部分代码。

class A {
public void eat() { }
}

class B extends A {
public boolean eat() { }
}

为什么会这样?

最佳答案

这是因为我们不能在具有相同名称但返回类型不同的类中拥有两个方法。

子类不能声明一个与父类中已经存在的方法具有相同名称但返回类型不同的方法。

但是,子类可以声明一个与父类(super class)具有相同签名的方法。我们称之为“覆盖”。

你需要有这个,

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 - 错误 : return type is incompatible,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6015055/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com