ジェネリックメソッドを持つ抽象クラスがあり、ジェネリックパラメーターを特定の型に置き換えてジェネリックメソッドをオーバーライドしたいと思います。したがって、擬似コードでは、次のようになります。
public abstract class GetAndParse {
public SomeClass var;
public abstract <T extends AnotherClass> void getAndParse(T... args);
}
public class Implementor extends GetAndParse {
// some field declarations
// some method declarations
@Override
public <SpecificClass> void getAndParse(SpecificClass... args) {
// method body making use of args
}
}
しかし、何らかの理由で私はこれを行うことを許可されていませんか?ある種の構文エラーが発生していますか、それともこの種の継承とオーバーライドは許可されていませんか?@Override
具体的には、Eclipse IDEが実装するように通知し続けるため、エラーが発生しますgetAndParse
。
上記のコードを機能させる方法は次のとおりです。私のコードのどこかに、実装するオブジェクトのインスタンスを期待するメソッドがあります。GetAndParse
これは、具体的には、getAndParse
使用できるメソッドがあることを意味します。そのインスタンスを呼び出すとgetAndParse
、コンパイラは、の特定のインスタンスを適切な方法で使用したかどうかを確認しますT
。したがって、特にT
拡張AnotherClass
する必要があり、そうする必要がありますSpecificClass
。