クラスA、BがB extends A
あり、インターフェイスが次のように定義されています
public interface MyProcessor<EVENT> {
void processEvent(EVENT event);
}
私は2つの実装を持っています
public class EventAProcessor implements EventProcessor<A> {
@Override
public void processEvent(A a) {
}
public class EventBProcessor implements EventProcessor<B> {
@Override
public void processEvent(B b) {
}
共通の処理があるので、Aprocessor から BProcessor を拡張することにしました
public class EventBProcessor extends EventAProcessor implements EventProcessor<B> {
}
これは、メッセージで失敗する場所です
MyProcessor cannot be inherited with different arguments: <A> and <B>
私の問題を回避するための他の解決策がありますが、どうすればこれを機能させることができるのでしょうか。