public class Tester {
public Tester() {
A a = new B(); //is fine
List<A> alist = new ArrayList<B>(); // incompatible types
}
class A {}
class B extends A {}
}
A a = new B();工作良好 列出alist = new ArrayList();不会编译。为什么?逻辑不一样吗?