创建容器向上转型为接口的时候,有时候,并不是一定可行的,因为有的实现类,在接口的基础添加了自己的方法:比如:List 接口下面的 LinkedList 自己定义了一些方法 : Arrays.asList() 返回值,内部其实是一个 数组:因此,我们不能对其进行 add .delete 操作.因为这些操作,会改变数组的尺寸,而数组大小是固定的 : List<A1> list = Arrays.asList(new C1(),new A1(),new B1()) ; // 编译时不会产生任何警告,…