java概述课件21泛型_第1页
java概述课件21泛型_第2页
java概述课件21泛型_第3页
java概述课件21泛型_第4页
java概述课件21泛型_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,第21章泛型、2,学习目标,泛型的优点使用泛型类和接口定义泛型类和接口泛型:提高可靠性和可读性,泛型方法,泛型消除限制泛型类型向后兼容泛型使用原始类型,泛型限制和设计和实现限制泛型矩阵类,3,编译期间出现警告消息,公共类ShowUncheckedWarning公共静态void main(字符串参数)Java . util . ArrayList list=new Java . util . ArrayList();列表。添加(Java编程);要理解这一行的编译警告,您需要了解JDK 1.5中的泛型。4,排除警告,公共类显示未检查的公共静态void main(字符串参数)Java . uti

2、l . ArrayList=new Java . util . ArrayList();列表。添加(Java编程);这一行没有警告消息。5,简介,泛型是指参数化类型的能力。有了这种能力,您可以用泛型类型定义类或方法,然后编译器会用具体类型替换它们。例如,定义一个存储泛型元素的泛型堆栈类。从这个泛型类中,您可以生成包含字符串或数字的堆栈对象。此时,字符串和数字是替代泛型的具体类型。6,为什么使用泛型?使用泛型的主要优点是可以在编译时而不是运行时检测到错误。泛型类或方法允许用户指定可以使用这些类或方法的对象类型。如果您试图使用不兼容的对象,编译器将检测到错误。7、泛型类型、当泛型被实例化时,在运行

3、时报告错误,在编译时报告错误、提高可靠性、8、泛型类ArrayList前后8、JDK 1.5、9、有泛型,无需强制转换,ArrayList=新ArrayList();list . add(5.5);/5.5自动转换为新的双(5.5)列表。添加(3.0);/3.0自动转换为新的双(3.0)双双对象=列表。获取(0);/不需要转换双d=list . get(1);/自动转换为double,10,定义泛型类和接口,GenericStack,11,泛型方法,公共静态无效打印(elist)为(int I=0;I .清单.长度;系统输出打印(列表);system . out . println();公共静

4、态无效打印(对象列表)(整数=0;I .清单.长度;系统输出打印(列表);system . out . println();12,受限泛型类,公共静态void main (string args)矩形=新矩形(2,2);圆环9=新圆环9(2);系统输出打印输入(同一区域?相等区域(矩形、圆形);公共静态布尔等式区域(对象1,对象2)返回对象1.getArea()=对象2 . GetArea();13、原语类型和向后兼容性。/基元类型数组列表=新数组列表();相当于数组列表=新数组列表();14,原始类型:不安全,最大最大(欢迎,23);/Max.java:查找最大对象公共类Max /*返回两个

5、对象之间的最大值*/公共静态可比最大值(可比o1,可比o2),如果(pareTo(o2) 0)返回O1;否则返回O2;运行时错误,15,已更改为安全,Max1.max(欢迎,23);/Max1.java:查找最大对象公共类Max1 /*返回两个对象之间的最大值*/公共静态E最大值(E o1,E o2)如果(pareTo(o2) 0)返回O1;否则返回O2;16,通用,通用,通配符1,使用通配符的必要性,无限通配符?扩展通配符上限?超T下限通配符,通配符Demo2,通配符Demo3,17,泛型类型和通配符类型,18,避免不安全的原始类型,并用新数组列表()替换新数组列表();泛型的擦除和限制,泛

6、型是通过泛型擦除机制实现的。编译器在编译代码时使用泛型类型信息,但会立即将其删除。因此,通用信息在运行时不再可用。此方法可以使泛型代码与使用原始类型的遗留代码向后兼容。20.编译时检查。例如,编译器将检查(a)中的代码是否正确使用了泛型,如果正确使用了泛型,则将它翻译成与(b)相同的等效代码,以便在运行时使用。(b)中的代码使用原始类型。21,请注意,不管实际的类型是什么,泛型都被它的所有实例所共享。通用堆栈1=新通用堆栈();GenericStack stack2=新的GenericStack();虽然泛型标签和泛型标签是两种类型,但是在运行时只有一个泛型标签类被加载到JVM中。22.对泛型的限制,1 .无法创建实例,即使用泛型类型参数,2。无法创建数组,即使用泛型类型参数。新的E100限制3:静态环境中不允许类的参数是泛型。限制4:异常类不能是泛型,23。设计:GenericMatrix类。目标:用泛型设计一个对矩阵进行运算的类,实现所有类型矩阵的矩阵加法和矩阵乘法运算。通用矩阵,24,UML图,25。目标:使用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论