- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
新世纪应用型高等教育 软件专业系列规划教材 大连理工大学出版社 第8章 Java泛型与Java集合 8.1 java 泛型 8.3 java泛型和java集合实训 8.2 java 集合 8.1 Java 泛型 泛型是Java SE 5.0的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。但是与方法中的参数不同,泛型的类型参数只能是类类型(包括自定义类),不能是简单类型。 泛型类中的静态方法不能访问泛型类的类型参数。 8.1.1 Java 泛型基本概念 8.1 Java 泛型 设置通配符的上限,Java 5.0 引入泛型后extends关键字有了另外的含义,使用extends关键字可以设置泛型通配符的上限,形式如下: ? extends A 其中的通配符 ?表示一个受限制的通配符,此处的“?”意为 :通配符 “?”只能是 A类其子类作为泛型参数的泛型的的父类,而不再是任意类型参数泛型的父类。 设置Java 泛型通配符的下限。设置Java 泛型通配符下限的关键字是super,此处的关键字super不再表示Java继承中的超类的概念。设置Java泛型通配符下限的形式如下: ? super A 其中泛型通配符“?”表示一个受限的泛型通配符,意为:通配符“ ?”只能是 A 类及其父类的作为参数的泛型的父类,而不再是任意类型作为参数的泛型的父类。 8.1.2 Java泛型类型通配符 8.1 Java 泛型 泛型不仅应用于整个类上。同样可以在类中包含参数化方法,而这个方法所在的类可以是泛型类,也可以不是泛型类。也就是说,是否拥有泛型方法,与其所在的类是否是泛型没有关系。 泛型方法使得该方法能够独立于类而产生变化。以下是一个基本的指导原则:无论何时,只要你能做到,你就应该尽量使用泛型方法。也就是说,如果使用泛型方法可以取代将整个类泛型化,那么就应该只使用泛型方法,因为它可以使程序更简单明了。另外,对于一个static的方法而言,无法访问泛型类的类型参数,所以,如果static方法需要使用泛型能力,就必须使其成为泛型方法。 8.1.3 Java 泛型方法 8.1 Java 泛型 泛型方法的定义格式: 访问权限修饰符 T,S,… 返回类型 方法名(形参列表){ } 与泛型类、泛型接口中的泛型类型参数不同,泛型方法中定义的泛型形参的作用域限于该方法内。而泛型类或泛型口中定义的泛型形参的作用域为整个类或接口。 此外泛型方法在使用时无需传入泛型实参,这与泛型类和泛型接口也不同。 8.1.3 Java 泛型方法 8.1 Java 泛型 Java 语言允许在使用泛型类时不指定泛型类型参数。如果没有为泛型类指定类型参数,则该类型参数被退化成一个raw type(原始类型),退化后,默认成该类型参数声明时的第一个上限类型。 当把泛型类的实例赋给一个非泛型引用变量时,则泛型类的泛型参数被檫除。退化成非泛型实例。 8.1.4 Java 泛型擦出和转换 8.2 Java集合 Java中的集合框架提供了一套设计优良的接口和类,使程序员操作成批的数据或对象元素极为方便。这些接口和类有很多对抽象数据类型操作的API,而这是我们常用的且在数据结构中熟知的。并且Java用面向对象的设计对这些数据结构和算法进行了封装,这就极大的减化了程序员编程时的负担。程序员也可以以这个集合框架为基础,定义更高级别的数据抽象,比如栈、队列和线程安全的集合等,从而满足自己的需要。 8.2 Java集合 Java SE 5.0 增加了泛型支持很大程度上是为了让集合能记住其元素的数据类型。 在没有泛型之前,一旦把一个对象“丢进”Java集合中,集合就会忘记对象的类型。把所有元素都当成Object类型处理。当程序从集合中取出元素后,需要进行强制类型转换,这种转化使得程序代码臃肿,转换不当会引发ClassCastException异常。 Java SE 5.0改写了Java集合框架中全部接口和类,增加了泛型支持。 8.2 Java集合 8.2.1 Java集合概述 8.2 Java集合 8.2.1 Java集合概述 8.2 Java集合 8.2.1 Java集合概述 8.2 Java集合 8.2.1 Java集合概述 Java提供了非常复杂的集合类型,不易理解、掌握,通过一步简化Java集合框架非常有助于理解Java集合框架。从简化的Java集合框架图中看出,Java集合框架主要提供了3种类型的集合和1个迭代接口
您可能关注的文档
- C语言简明教程 第二版 高职计算机大类专业 李忠儒 郭晓利第6章 数组与字符串.ppt
- 汽油发动机微机控制系统检修课后习题答案.doc
- C语言简明教程 第二版 高职计算机大类专业 李忠儒 郭晓利第8章 指针.ppt
- C语言简明教程 第二版 高职计算机大类专业 李忠儒 郭晓利第10章 文件.ppt
- 日语视听1答案视听1译文.doc
- C语言简明教程 第二版 高职计算机大类专业 李忠儒 郭晓利第11章 C语言应用程序开发实例.ppt
- 日语视听1答案视听1综合答案.doc
- 日语写作稿纸文例3 4.doc
- 日语写作日式信封写法.doc
- 施工企业会计基础二版课件和答案习题集答案 2012.doc
- 点击职业英语四册 新增部分答案Book 3 Unit 4 Good and Bad News.doc
- JAVA核心编程技术9.ppt
- 点击职业英语四册 新增部分答案Book 3 Unit 6 Workplace Appointments.doc
- JAVA核心编程技术10.ppt
- 点击职业英语四册 新增部分答案Book 3 Unit 8 Job Hunting.doc
- Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第八章 异常处理.ppt
- Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第二章 Java数据类型.ppt
- 点击职业英语四册 新增部分答案Book 3 Unit 10 Orders.doc
- Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第九章 GUI界面设计.ppt
- 点击职业英语四册 新增部分答案Book 3 Unit 11 Delivery and Payment.doc
原创力文档


文档评论(0)