public abstract class Abc<T> {
public abstract void f1(T a);
}
abstract class Def<T> extends Abc {
@Override
public void f1(T a) {
System.out.print("f");
}
}
这给出了以下错误:“方法不会覆盖或实现超类型的方法”
怎么了
您的类定义需要表明您是在扩展父类。
abstract class Def<T> extends Abc<T>
否则,编译器或多或少会假设您正在扩展Abc<object>
,因此包含T
参数的方法签名与父类的方法签名不匹配(因为它使用的是不同的T
参数)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句