泛型和泛型接口.ppt

泛型和泛型接口

计算机学院 赵卓君 类型通配符--2 如果刚才的继承关系是合理的,则会出现以下尴尬矛盾的代码: class Person{ } class Student extends Person{ } class Teacher extends Person{ } public class GenericDemo3 { public static void main (String[] args) { VectorPerson v=new VectorStudent(); VectorPerson vp=v; Teacher t=(Teacher)vp; //违反泛型的定义!!! } } 计算机学院 赵卓君 类型通配符--3 Vector?是任何泛型类Vector的父类 Vector?类型的变量在调用方法时有限制—凡是必须知道具体类型参数才能进行的操作均被禁止。如,Vector?上禁止调用 add()方法。但并不等于是“只读”,例如可以执行remove()方法。 Vector? extends A表示集合里面的元素是A类或其子类的对象。 计算机学院 赵卓君 受限制的通配符 1、上限通配符:? extends 类名 上限类型通配符?之后也可以加extends限制参数类型只能为某个类的子类 public void show(Vec

文档评论(0)

1亿VIP精品文档

相关文档