我有以下界面:
public interface SingleRecordInterface<T> {
public void insert(T object);
}
我在下面有抽象类(没有提到方法插入):
public abstract class AbstractEntry implements SingleRecordInterface<AbstractEntryBean> {
}
我有具体的类(class):
public class SpecificEntry extends AbstractEntry {
public void insert(SpecificEntryBean entry) {
// stuff
}
}
最后,SpecificEntryBean定义为:
public class SpecificEntryBean extends AbstractEntryBean {
}
我有以下错误:
考虑到SpecificEntryBean扩展了AbstractEntryBean,所以我不明白此错误的原因。如何解决此错误?
最佳答案
您还需要使抽象类通用:
public abstract class AbstractEntry<T extends AbstractEntryBean> implements SingleRecordInterface<T> {
}
然后针对您的具体类(class):
public class SpecificEntry extends AbstractEntry<SpecificEntryBean> {
}
关于java - 泛型: Inheriting from an abstract class that implements an interface,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9893481/