关于子类泛型类的继承:
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);
}
}``