JAVA高级复习-泛型在继承方面的体现

public class GenericTest6 {

    @Test
    public void test01() {
        Object obj = null;
        String str = null;
        obj = str;


        Integer[] arr = null;
        Object[] arr2 = null;
        //数组可以进行类型自动类型转换
        arr2 = arr;

        List<Integer> list = new ArrayList<>();
        List<Object> list2 = new ArrayList<>();
        //集合无法进行类型自动类型转换,报错(Incompatible types.)
        //虽然类A是类B的父类,但是G<A> 与 G<B>不具备父子类关系,二者是并列关系
        //此时list 与 list2 不具备子父类关系
        //list2 = list;
        Date date = new Date();
        //无法进行类型自动类型转换,与上述报错一样(Incompatible types.)
        //str = date;

        //如果类A与类B的有子父类关系,那么A<G> 与 B<G>也是子父类关系
        List<Integer> objects1 = new ArrayList<>();
        ArrayList<Integer> objects = new ArrayList<>();
        objects1 = objects;
    }

}
posted @ 2020-09-11 23:19  温森  阅读(97)  评论(0编辑  收藏  举报