- 1、本文档共64页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Java泛型与反射在开发中应用概述Java泛型与反射在开发中应用
概述Java泛型Java反射123Java泛型与反射在开发中应用
概述Java泛型Java反射123Java泛型与反射在开发中应用
概述泛型和反射都是我们在工作中常用的Java特性本PPT总结了常用的方式,说明了部分实现原理Java泛型与反射在开发中应用
概述Java泛型Java反射123Java泛型与反射在开发中应用
泛型概念基本元素实现原理通配符项目中的使用Java泛型与反射在开发中应用
泛型程序设计语言的一种特性。在强类型语言中,定义一些可变部分,那些部分在使用前作出指明。支持泛型的语言:C++,Java,C#,Visua,Delphi…Java泛型与反射在开发中应用
JAVA泛型引入泛型JAVASE1.5提高代码的重用率实现类型参数化基本构成类型参数泛型接口泛型方法泛型类Java泛型与反射在开发中应用
类型参数ClassTT声明一个类型持有者名称成员、参数和返回值类型。Java泛型与反射在开发中应用
泛型类使用了泛型的类class创建类对象时,指明具体的类型根据需求返回不同的类型Java泛型与反射在开发中应用
泛型接口工厂模式Java泛型与反射在开发中应用
泛型方法方法独立于类而产生变化。影响范围小,可以用于static方法。Java泛型与反射在开发中应用
泛型方法的特点泛型类需要在创建对象时指定类型参数的值,泛型方法通常不必指明参数类型。编译器会推断出具体的类型Java泛型与反射在开发中应用
JAVA泛型方法一个工具类虽然Java7中已经优化了这个部分。但这个工具类可以简化我们当前的一部分工作Java泛型与反射在开发中应用
JAVA泛型泛型的好处代码的复用减少类型转换对比使用泛型和没有使用泛型的代码Java泛型与反射在开发中应用
JAVA泛型使用泛型可以使List变成能容纳各种类型的容器不需要进行取得数值的类型转换Java泛型与反射在开发中应用
JAVA泛型Java泛型与反射在开发中应用
泛型原理Java泛型是在编译器的层面上实现的在编译后,通过擦除,将泛型的痕迹全部抹去。擦除:将任何具体的类型信息都消除,唯一知道的就是正在使用一个对象Java泛型与反射在开发中应用
擦除JVM不知道泛型的存在向上兼容。Java泛型与反射在开发中应用
擦除Java重用了extends关键字classGenericTextendsNumberextends可以将参数限制为某个类型的子集Java泛型与反射在开发中应用
擦除Java泛型与反射在开发中应用
擦除反编译之后的结果Java泛型与反射在开发中应用
擦除擦除产生在我们声明泛型时classTestTextendsRole{}publicTextendsRolevoidf(Tt){};在泛型参数中,也可以限定类型List?aList;Java泛型与反射在开发中应用
通配符使用通配符和super,extends关键字来限定需要的类型super,extends都是通过重载实现的Java泛型与反射在开发中应用
通配符-协变一个简单的对比:Java泛型与反射在开发中应用
通配符-协变与数组不同的是,泛型没有内建的协变类型。数组在语言中是完全定义的,因此可以内建了编译期和运行时的检查。在使用泛型时,编译期和运行时系统都不知道你想用类型做什么,以及应该采用什么样的规则。Java泛型与反射在开发中应用
通配符通配符:?我们可以通过使用通配符更加细致的描述所需泛型的类型可以使用的方式:??extendsRole?superRoleJava泛型与反射在开发中应用
通配符?通配符类型表现的类型是未知的,不是Object,是不知道什么类型。?extendsNumber表示类型的上界,表示参数化类型的可能是Number?或是?Number的子类?superNumber表示类型下界(Java?Core中叫超类型限定),表示参数化类型是此类型的超类型(父类型),直至ObjectJava泛型与反射在开发中应用
通配符两个极端:List?extendsRole和List?superRole?extendRole·List??extends?Role?表示?“具有任何从Role继承类型的列表”,编译器无法确定List所持有的类型,所以无法安全的向其中添加对象。可以添加null,因为null?可以表示任何类型。·所以List?的add?方法不能添加任何有意义的元素,但是可以接受现有的子类型ListPet?赋值。Java泛型与反射在开发中应用
通配符?superRoleList??super?Role?表示“具有任何Role超类型的列表”,列表的类型至少是一个?Role?类型,因此可
您可能关注的文档
最近下载
- 江苏省苏州市常熟市2023-2024学年五年级上学期期末数学试卷(含解析).docx VIP
- 中传媒21秋《电视专题片编导》平时作业【标准答案】.docx
- 【课件】医学创新与转化医学(南方医科大学).ppt
- 建筑项目EPC施工组织方案.docx VIP
- 2025届高考物理一轮复习课件:第2讲 机械波 课件(共59张PPT).ppt.pptx VIP
- 《儒林外史》王冕 .ppt
- 220kv变电站安装工程电气施工组织设计.doc
- 露天矿山开采安全技术(培训版).pptx VIP
- 2025年高考语文一轮复习:文学类文本阅读之鉴赏小说的语言艺术(高考新题型,全国通用).pdf VIP
- 地方文化在高中英语教学中的融合研究教学研究课题报告.docx
文档评论(0)