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

5 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();
    ...
}
Run Code Online (Sandbox Code Playgroud)

一切都很好,直到我到达ResourceImpl.我被告知这ProcessImpl不是<S extends Process<T,S>>该类型的有界参数的有效替代品Resource<T,S>.

我已经尝试了各种方法绕过这个并继续撞墙.

有没有人有任何想法?

Nat*_* W. 11

public class ProcessImpl<EventType1, EventType2> {
...
}
Run Code Online (Sandbox Code Playgroud)

因为ProcessImpl不扩展 Process.您的ProcessImpl不是从Process派生的,这就是您声明该参数应该是什么.