我有以下界面:

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/

10-11 01:07
查看更多