class Parent<T> {
void method(T t) {}
}
class Child extends Parent {
@override
void method(int i) {} // error: mentioned_below
void takesDynamic(dynamic d) {
takesType(d); // no error
}
void takesType(int i) {
takesDynamic(i); // no error
}
}
错误:
void Function(int)
不是void Function(dynamic)
的有效覆盖
当我可以轻松地将 int
参数传递给使用 dynamic
的方法,反之亦然,为什么重写方法时会出现此错误。
PS:
我不想使用 extends Parent<int>
解决问题,我想知道为什么在重写方法与调用常规方法时会有不同的处理方式。