关于子类泛型类的继承

关于子类泛型类的继承:

package generic;

public class GenericExtend  <E>{
    //泛型类的继承
    /**
     * 1.子列也是泛型类的话 子类和父类的泛型类型要保持一致
     * class ChildGeneric<T>  extends Generic <T>
     * 2.子类不是泛型类  父类需要明确泛型的数据类型
     * class ChildGeneric extends Generic <String>
     */


    private E value;
    public E getValue(){
       return value;    //泛型类中返回相关的数据
    }
    public void setValue(E value){
        this.value=value;
    }


    public static void main(String[] args) {
        FirstChild<String > childFirst=new FirstChild<>();
        childFirst.setValue("abc");
        String  aa=childFirst.getValue();
        System.out.println(aa);

        SecondChild  secondChild=new SecondChild();
        secondChild.setValue(100);
        Integer value=secondChild.getValue();
        System.out.println(value);
    }
}

//这里对于子类也为泛型类的时候可以有
//class FirstChild <T ,E,...> extends GenericExtend<T>    示例化对象的时候需要做相对应的改变

class FirstChild <T> extends GenericExtend<T>{   //子类继承父类的时候  这个是时候需要保证我们的泛型标识要一致
    @Override
    public T getValue(){
        return super.getValue();

    }
}

/**
 * 子类不是泛型类的时候 需要父类明确我们的这个数据类型
 *
 */
class SecondChild extends GenericExtend<Integer>{   //这个时候就是对象类型的
      @Override
    public Integer getValue(){
          return super.getValue();   //调用父类的方法  获得我们想要的数据
      }

      @Override
    public void setValue(Integer value){
          super.setValue(value);
      }
}``

上一篇:父子类构造顺序,递归


下一篇:jmeter-ant-jekins