Java 泛型、扩展泛型和抽象类

标签 java generics inheritance abstract

我已经设置了以下类:

public abstract class Process<T,S> {
    ...
}

public abstract class Resource<T, S extends Process<T, S>> {
    protected S processer;
    ...
}

public class ProcessImpl<EventType1, EventType2> {
    ...
}

public class ResourceImpl extends Resource<EventType1, ProcessImpl> {
    processer = new ProcesserImpl();
    ...
}

在我到达 ResourceImpl 之前一切都很好.有人告诉我ProcessImpl不是有界参数的有效替代 <S extends Process<T,S>>类型 Resource<T,S> .

我尝试了各种方法来解决这个问题并不断碰壁。

有没有人有什么想法?

最佳答案

public class ProcessImpl<EventType1, EventType2> {
...
}

因为 ProcessImpl 不扩展流程。您的 ProcessImpl 不是从 Process 派生的,而您声明的参数应该是这样的。

关于Java 泛型、扩展泛型和抽象类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/961566/

相关文章:

具有自定义数据格式的 JavaFX DragAndDrop

java - ArrayList - 使用字符串获取 "Contain"和 "lastIndexOf"

java - Facebook Spring Boot 使用 OAuth2 登录

Java 泛型 ECLIPSE 错误?

java - 关于 Java 泛型

java - 插入通用 Number ArrayList Java

python - python 中类方法和静态变量的行为

c++ - 派生类是否间接继承基类的赋值运算符?

android - java.lang.IllegalArgumentException : API interfaces must not extend other interfaces Retrofit 2

java - 关于如何修复此堆栈溢出错误有什么建议吗? java