[]JAVA第5章 继承3.pptVIP

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[]JAVA第5章 继承3

学习目标 掌握泛型的产生意义 掌握泛型的基本使用 了解泛型的警告信息及泛型的擦除 掌握通配符“?”的使用 掌握受限泛型的设置 掌握泛型接口的使用 掌握泛型方法的定义及使用 掌握泛型数组的使用(略) 掌握泛型的嵌套设置 为什么要有泛型? 有以下的实例要求: 现在要求设计一个可以表示出坐标点的类,坐标由X和Y组成,坐标的表示方法有以下三种: 整数表示:x = 10、y = 20 小数表示:x = 10.5、y = 20.6 字符串表示:x = 东经180度、y = 北纬210度 问:此类该如何设计? 问题分析 建立好一个表示坐标点的类 —— Point,此类中有两个属性分别用来表示x坐标和y坐标,但是x和y中所保存的数据类型会有三种(int、float、String),而要想使用一个类型可以同时接收这样的三种类型数据,则现在只能使用Object,因为Object类可以接收任何类型的数据,都会自动发生向上转型操作,这样三种数据类型将按以下的方式进行转换: 数字(int) ? 自动装箱成Integer ? 向上转型使用Object接收 小数(float) ? 自动装箱成Float ? 向上转型使用Object接收 字符串(String) ? 向上转型使用Object接收 设计Point类 设计整数作为坐标 设计小数作为坐标 设计字符串作为坐标 代码的问题 泛型 泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。 在类声明的时候通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这样在类声明或实例化的时候只要指定好需要的类型即可。 泛型类定义格式: [访问权限] class 类名称泛型类型1,泛型类型2,…泛型类型3{ [访问权限] 泛型类型标识 变量名称 ; [访问权限] 泛型类型标识 方法名称(){} ; [访问权限] 返回值类型声明 方法名称(泛型类型标识 变量名称){} ;} 泛型对象定义 类名称具体类 对象名称 = new 类名称具体类() ; 声明泛型 几点说明: 在泛型的指定中,是无法指定基本数据类型的,必须设置成一个类,这样在设置一个数字的时候就必须使用包装类。 var变量可以设置成Integer类型。也可以设置成String类型等其他类型。如果设置的类型与指定的泛型类型不一致,则在编译时就会出现错误,这样可以更好地保护数据类型。 泛型的使用,减少了类型转换的操作代码,而且更加安全。 可以将之前的例子利用泛型完成:GenericsPoint.java 泛型应用中的构造方法 构造方法可以为类中的属性初始化,那么如果类中的属性通过泛型指定,而又需要通过构造设置属性内容的时候,那么构造方法的定义与之前并无不同,不需要像声明类那样指定泛型。 使用格式: [访问权限] 构造方法 ([泛型类型 参数名称]){ } class PointT{ private T var ; public Point(T var){ // 通过构造方法设置内容 this.var = var ; } public T getVar(){ return var ; } public void setVar(T var){ this.var = var ; } } public class GenericsDemo06{ public static void main(String args[]){ PointString p = new PointString(Tom); System.out.println(内容: + p.getVar()); } } 指定多个泛型类型 如果一个类中有多个属性需要使用不同的泛型声明,则可以在声明类的时候指定多个泛型类型。 泛型的安全警告 在泛型应用中最好在声明类的时候指定好其内部的数据类型,例如:“InfoString”,但也可以不指定类型。 如果不指定类型,并不影响程序的执行,系统一般自动将类型识别为Object,这样以便于接收任一类型的数据,此时,所有的泛型信息被擦除。用户在使用这样的类时,会出现不安全的警告信息。 class InfoT{ private T var; public T getVar(){ return var; } public void setVar(T var){ this.var = var; } public String toString(){ //重写Obj

您可能关注的文档

文档评论(0)

ipbohn97 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档