我已经设置了以下类:
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/