此代码无法编译:
import java.util.List;
class A {
void foo(List l) { }
}
class B extends A {
void foo(List<?> l) { }
}
但是,下面的代码编译(D中的foo覆盖C中的foo).为什么?
class C {
void foo(List<?> l) { }
}
class D extends C {
void foo(List l) { }
}
最佳答案 第二个例子编译因为List<>派生自List,但不是另一种方式,这就是第一个例子不编译的原因.