- 18
- 0
- 约7.61千字
- 约 35页
- 2019-01-08 发布于湖北
- 举报
计算机学院 赵卓君 类型通配符--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(Vector? extends Number v){ } 表示该方法只可以接受Number类型或其子类的对象的泛型参数 2、下限通配符:? super 类名 下限类型通配符? super 类名限制参数类型只能为某个类或其父类,这样就允许添加该类的对象,因此该类的子类对象也可以添加。 受限制的通配符 public void evaluate1(List? extends Person list){ //list.add(new Student(Jack,21,计算机)); //list.add(new Teacher(Amy,21,讲师)); } public void evaluate2(List? super Student list){ list.add(new Student(Jack,21,计算机)); list.add(new CompStudent(Jack,21,计算机,true)); } 计算机学院 赵卓君 非法 计算机学院 赵卓君 总结 泛型就是在创建集合对象时就规定其允许保存的元素类型,然后由编译器负责检查所要添加元素的合法性。在取用元素时就不必再进行强制性的类型转换处理。其实就是将原本确定不变的类型参数化。 泛型在添加集合元素时检查所要添加元素的合法性。在取用元素时就不必再进行强制性的类型转换处理了。 Java中的泛型是可以向后兼容 类和方法都可以泛型化 Comparable和Comparator接口都可以比较集合中的元素 可以使用类型通配符?和受限制的参数 * 演示添加对象与遍历 添加正确 遍历时出错 * 上一页演示结束后 讲解这张动画,提高学员的兴趣 计算机学院 — 赵卓君 北京理工大学珠海学院 Java深入编程 计算机学院 软件工程教研室 赵卓君 QQ: 290913207 手机: Email: zhao.ywp@ 办公室:HA202 计算机学院 赵卓君 课程简介 本课程是《Java程序设计》的后续高级课程。 在上学期所学Java基础知识上,进一步深入介绍Java语言的高级特性,包括泛型和泛型接口、序列化和反序列化、GUI图形用户界编程、JDBC数据库连接、线程、Applet和网络编程等。 学完本课程后,学生可以开发出基于Swing组件的C/S架构应用系统和Java网络通讯系统,如:学生成绩管理、图书信息管理、网络聊天室等系统。也可参加Java认证的SCJP考试。 计算机学院 赵卓君 课程知识点介绍 整个课程共七章: 第一章:泛型和泛型接口(重点) 第二章:序列化和反序列化 第三章:GUI图形用户界面编程(重点、难点) 第四章:JDBC数据库连接(重点、难点) 第五章:线程和多线程(重点、难点) 第六章:Applet和网络编程(难点) 第七章:C/S架构应用程序开发 (难点) 计算机学院 赵卓君 教学及考核安排 本课程是考查课,共48学时(其中理论26学时,实验22学时) 考核方式(闭卷、笔试): 出勤 20% 作业 10% 实验 20% 期末 50% 总计 100% 计算机学院 赵卓君 学习要求
您可能关注的文档
- bvlyne儿_歌大全精排打印版.doc
- B超单神奇作用.doc
- B-建筑工程分部子分部工程分项工程划分.doc
- C 中实现通用数据结构在程序设计当中经常会出现使用同.doc
- C#程序设计多媒体课件PPT 陈锐主编.ppt
- C#中线程三 使用多线程.doc
- C_初_02--CDMA信道结构与调制.pdf
- C++ 数据转换实现.doc
- C++实验指导实验02 类及对象封装性.pdf
- C5-1 基因操作中大分子分离和分析.pdf
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测生物试卷+答案.doc
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测语文试卷+答案.doc
- 四川省绵阳南山中学实验学校2025-2026学年高三上学期1月月考数学含答案.doc
- 2026届辽宁省大连市高三上学期双基考试物理试卷+答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测化学含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测生物含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测英语含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测政治含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试化学含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试生物含答案.doc
原创力文档

文档评论(0)