作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有以下界面:
public interface SingleRecordInterface<T> {
public void insert(T object);
}
我有下面的抽象类(没有提到插入方法):
public abstract class AbstractEntry implements SingleRecordInterface<AbstractEntryBean> {
}
我有具体的类:
public class SpecificEntry extends AbstractEntry {
public void insert(SpecificEntryBean entry) {
// stuff
}
}
最后,SpecificEntryBean定义为:
public class SpecificEntryBean extends AbstractEntryBean {
}
我有以下错误:
The type SpecificEntry must implement the inherited abstract method SingleRecordInterface.insert(AbstractEntryBean)
鉴于 SpecificEntryBean 扩展了 AbstractEntryBean,我不明白此错误的原因。如何修复此错误?
最佳答案
你还需要让你的抽象类泛化:
public abstract class AbstractEntry<T extends AbstractEntryBean> implements SingleRecordInterface<T> {
}
然后对于你的具体类:
public class SpecificEntry extends AbstractEntry<SpecificEntryBean> {
}
关于java - 泛型 : Inheriting from an abstract class that implements an interface,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9893481/
我是一名优秀的程序员,十分优秀!