gpt4 book ai didi

java - Eclipse 显示子类(而不是父类)缺少接口(interface)方法

转载 作者:行者123 更新时间:2023-12-01 06:58:30 24 4
gpt4 key购买 nike

在 Eclipse 中,为什么缺少在子类上显示的接口(interface)方法,而不是在父类上显示的接口(interface)方法?

假设我有一个简单的界面:

public interface ISpeaks {
String talk();
}

然后,我在扩展的类上实现了这个接口(interface):

public abstract class Cat implements ISpeaks {
// forgot to implement talk()
}

public class Tiger extends Cat {
// also didn't implement talk()
}

Eclipse 提示 Tiger 缺少方法 talk()(确切错误:类型 Tiger 必须实现继承的抽象方法 ISpeaks.talk())。我希望它告诉我 Cat 缺少 talk(),因为 Cat 是显式实现该接口(interface)的类。不是老虎。

这绝对是一个“嗯?”对我来说,因为我在 Spring/Hibernate 中,每当我向 DAO 接口(interface)添加一个方法时,对于每个缺少方法的数据库感知测试用例,我都会收到这样的错误 - 而不是在模拟我的 DAO 的基本测试方法。

最佳答案

由于 Cat 类是抽象的,因此您不必实现所有接口(interface)方法。

您只需在实现 ISpeaks 的具体类(如 Tiger)上实现所有接口(interface)方法。

这是合乎逻辑的,因为无法实例化 Cat 类型的对象,因此无法创建不完全实现该接口(interface)的对象。

http://download.oracle.com/javase/tutorial/java/IandI/abstract.html的最后一段给出了类似的例子

关于java - Eclipse 显示子类(而不是父类)缺少接口(interface)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5155886/

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