我有一个具有泛型方法的抽象类,我想通过用特定类型替换泛型参数来覆盖泛型方法。所以在伪代码中我有以下内容:
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
.