第1章泛型研究.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA 第1章 泛型 JAVA高级编程 Java课程组 课时安排课程目标 课时安排 6学时 课程目标 了解JDK1.5出现泛型的相关的概念 能够使用带有泛型的类 了解泛型接口、泛型方法、通配符和受限泛型 了解泛型在使用过程中的限制 Contents 1.1 泛型概述 1 1.2 泛型类 2 1.3 有多个类型变量的泛型 3 1.4 泛型方法 4 1.5 泛型接口 5 1.6 受限泛型 6 1.1 泛型概述 概念: 泛型(Generics):本质上是提供类型的“类型参数”,也称为参数化类型(parameterized type)或参量多态(parametric polymorphism) 为什么使用泛型: 希望编写的代码能被很多不同类型的对象所重用,但又要避免类型任意化所带来的麻烦,比如插入类型出错、强制转换等 JDK1.5以前的解决方案—使用Object实现重用 JDK1.5以后的解决方案—使用泛型 不使用泛型,使用Object类的例子 NoGen.java UseNoGen.java 使用泛型的例子 Gen.java UseGen.java 1.2 泛型类 泛型类:具有一个或多个类型参数的类 定义格式: class 类名类型变量参数{ …….} 注意: class GenericGroupE GenericGroupString gGroup=new GenericGroupString(); 命名习惯:用大写字母单个字符命名形式类型参数 为形式类型参数指明具体实际类型参数时,不能是基本数据类型 形式类型参数 实际类型参数 泛型类的局限 类型参数不能实例化 E a=new E(); 不能实例化类型参数的数组 E elements=new E[10]; 类的静态变量不能声明为类型参数类型 static E a; 泛型类不能继承自Throwable以及其子类 class TestE extends Throwable{ } 1.3 有多个类型变量的泛型 格式: 类名形式类型参数1,形式类型参数2,….. 注意: 多个形式类型参数名应不同 创建对象时,必须为每个类型变量制定具体类名 多个类型参数的泛型类应注意避免二义性错误 例如: class TwoGenT,V{ …. void set(T one){ } void set(V two){ } } 1.4 泛型方法 泛型方法:类型参数不仅可以用来声明泛型类或者泛型接口, 也可以用来声明泛型方法, 而且这种声明的泛型方法可以用在非泛型类中。 格式: public static T T max(…..) 注意: 泛型方法可以在普通类中,也可在泛型类中 类型变量放在修饰符(如public static)后 GJFunction.java 1.5 泛型接口 声明格式: interface 接口名类型变量参数{ …….} 例子: Person类实现了MaxE泛型接口,主类UseGI使用Person类对象,得出两者中年龄较大的那个对象 Max.java Person.java UseGI.java 1.6 受限泛型 受限的含义: 指类型参数的取值范围是受到限制的 实现格式: 例如:class GenE extends Number JAVA

文档评论(0)

4477769 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档