• 5、泛型在继承上的体现


    泛型在继承上的体现:

     如果B是A的一个子类型(子类或者子接口),而G是具有泛型声明的类或接口,G<B>并不是G<A>的子类型,二者不具备子父类关系,二者时并列关系;
     如果B是A的一个子类型(子类或者子接口),A<G> 是 B<G> 的父类;
    
    实例1:
    public class GenericTest {
    
        @Test
        public void test1(){
    
            Object obj = null;
            String str = null;
            // 编译成功,多态的体现
            obj = str;
    
            Object[] arr1 = null;
            String[] arr2 = null;
            // 编译成功
            arr1 = arr2;
            
            List<Object> list1 = null;
            List<String> list2 = null;
            // 编译不通过
            // 此时的list1和list2的类型不具有子父类关系
            // list1 = list2;
        }
        
        @Test
        public void test2(){
    
            List<String> list1 = null;
            ArrayList<String> list2 = null;
            // 编译通过
            // 这种写法我们平时经常用
            list1 = list2;
    
            // 经常这样写
            List<String> list4 = new ArrayList<>();
        }
    }
    
  • 相关阅读:
    7-36 复数四则运算
    7-35 有理数均值
    7-34 通讯录的录入与显示
    7-33 有理数加法
    7-32 说反话-加强版
    POJ-2524-Ubiquitous Religions
    POJ-2406-Power Strings
    HDU-1072-Nightmares
    POJ-1961-Period(ZOJ-2177)
    POJ-1961-Period(ZOJ-2177)
  • 原文地址:https://www.cnblogs.com/kehuaihan/p/13592439.html
Copyright © 2020-2023  润新知