泛型——泛型的继承性

1、泛型的类型参数声明格式如下,用于限定泛型的特性。其中,[ ]表示可选项,多个父类以&分割

类型变量  [extends 父类型列表]       //其中父类型列表中可以有多个

2、虽然Object是String的父类,但是SeqList却不是SeqList的父类,那么SeqList的父类是谁呢?

      Java约定泛型的类型参数用“?”通配符表示匹配类型,代表能够匹配任何类型,但是有两种限定通配符语法如下:

? extends  T     //?表示T及其任意一种子类型,T称为?的上界
? extends        //?表示T及其任意一种子类型,T称为?的下界

       SeqList简写成SeqList,因此,SeqList是所有SeqList的父类,例如,SeqList类声明的以下方法,参数list的元素类型是T或其任一子类:

public SeqList(SeqList  list)  //深拷贝,list的元素类型是T或其任一子类
public SeqList(SeqList  list)  //集合并,list的元素类型是T或其任一子类

调用语句如下:

Object[] objs = {"A","B",10,new Integer(20)};
SeqList listobj1 = new SeqList(objs);
String str[] = {"C", "D","E"};
SeqList lists = new SeqList(str);
SeqList listobj2 = new SeqList(lists);
listobj1.addAll(lists); 
  

结果运行:

listobj1 = (A,B,10,20,C,D,E),   listobj2=(C,D,E),    lists = (C,D,E)


你可能感兴趣的:(java编程)