私は次のクラス構造を持っています。
public abstract class X { }
public class Y extends X { }
そして、私は次のことをしたい:
public abstract class Action {
public abstract <T extends X> void execute(T t);
}
public class SomeAction extends Action {
public void execute(Y y) { }
}
コンパイラは私に次のエラーを与えています:
Type
SomeAction
は、継承された抽象メソッドを実装する必要がありますAction.execute(T)
をオーバーライドしたいexecute()
のですが、パラメータを のサブクラスにしたいのですX
。
ここで何が間違っていますか?