• 泛型子类_属性类型_重写方法类型


    package cn.Douzi.gen02;
    
    /*
     * 泛型父类
     * 1. 如果父类是泛型类,子类只能是泛型子类, 保留父类的泛型
     * 2. 不保留父类泛型 ---> 子类按需实现即可
     * 3. 子类方法的类型 --> 随父类而定
     * 
     * 4. 子类重写方法的类型 --> 随父类而定
     * 5. 子类使用父类的属性 --> 随父类而定
     * 
     * 6. 子类新增方法的类型 --> 随子类而定
     * 7. 子类中使用自己的属性 -->随子类而定
     * 
     * 8. 属性及方法 类型 --> 随位置而定
     */
    public abstract class Father<T1, T2> {
        T1 age;
        public abstract void test(T2 name);
        
    }
    
    //保留
    //1)、全部保留
    //2)、部分保留
    //不保留
    //1)、具体类型
    //2)、没有类型 擦除 Object
    
    //如果父类保留, 子类也保留 --> 泛型子类
    class C1<T1, T2, A, B> extends Father<T1, T2> {
        
        A Sex;
        
        @Override
        public void test(T2 name) {
            // TODO Auto-generated method stub
    //        this.age -- > T1, 随父类
        }
        
        public void test2(T1 a) {
            
        }
    }
    
    class C2<T2, A, B> extends Father<Integer, T2> {
        
        @Override
        public void test(T2 name) {
            // TODO Auto-generated method stub
    //        this.age --> Integer
        }
    }
    //泛型只针对引用类型
    class C3 extends Father<Integer, String> {
    
        @Override
        public void test(String name) {
            // TODO Auto-generated method stub
    //        this.age  --> Integer
        }
        
    }
    class C4 extends Father {
    
        @Override
        public void test(Object name) {
            // TODO Auto-generated method stub
    //        this.age --> Object
        }
        
        
    }
  • 相关阅读:
    day02
    Hive_分区排序(Distribute By)
    flink添加水位线
    SparkSQL读写JDBC
    spark累加器及UDTF
    datax同步json中文乱码问题
    mysql踩过的坑
    spark算子
    spark分区计算方式
    git操作
  • 原文地址:https://www.cnblogs.com/douzujun/p/6604920.html
Copyright © 2020-2023  润新知