1
を必要とするように、私は抽象スーパークラスを持って、それを拡張する2クラスオーバーライドメソッドのパラメータは、サブクラス
public abstract class MyAbstract {}
public class A extends MyAbstract {}
public class B extends MyAbstract {}
私はそのパラメータ
としてMyAbstractのサブクラスを受け取るメソッドを持っているインタフェースを持っています私はそのインターフェイスpublic class AnotherClass implements MyInterface {
@Override
<T extends MyAbstract> void someMethod(T param) {}
}
を実装するクラスを持っている。しかし、私は唯一のアロにしたい
public interface MyInterface {
<T extends MyAbstract> void someMethod(T param);
}
この方法で使用される特定のサブクラスMyAbstract
。ここで
は、私がこれまで試したもののカップルです:
<T extends A> void someMethod(T param); //doesn't override the method
void someMethod(A param); //doesn't override the method
はとにかくインターフェイスは、一般的なパラメータを取る必要があり、そのインターフェイスの実装者は、そのパラメータのより制限されたバージョンを指定することがありますかありますこれは単純に不可能ですか?
あなたは質問は矛盾を言い表している。異なるパラメータを持つメソッドは、定義によってオーバーライドすることはできません。 – EJP