




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内容提要为什么要引入泛型定义简单的泛型泛型和子类继承泛型的通配符泛型方法和类型推断为什么要引入泛型从JDK1.5开始引入了Generics(泛型)。这是因为在对实例对象作向下类型强制转换时,存在潜在的类型不匹配的问题。尤其在使用集合(详见第8章)对象时,更是如此。为了解决这样的问题,Java引入了泛型。简言之,引入泛型是为了提高代码的安全性和编程的简单性。定义简单的泛型泛型,就是把引用类型进行参数化,注意是引用类型,不是基本类型。在定义一个泛型类的时候,在“<>”之间定义泛型参数。例程泛型参数不能用于使用static修饰的成员变量、成员方法。这是因为泛型参数是属于动态的,与static不相容。泛型和子类继承如果Foo是Bar的一个子类型(子类或者子接口),而G是某种泛型声明,那么G<Foo>是G<Bar>的子类型并不成立。泛型参数可以继承其他的类和接口,如果有多个接口或类可以用&符号连接(包括三种情况:多个纯接口、多个纯类、多个接口和类混合),&是“和”、“并且”的意思。通过extends限制了泛型参数的范围。注意:这里泛型的extends与Java接口或类的extends不是一个概念,泛型中的extends的含义是左边的操作数或者是右边的类型或是右边的子孙类型,即右边的类型是左边类型的上界。泛型的通配符List<?extendsNumber>表示类型变量是Number或者Number的子类。这个就是所谓的上界通配符,同样,如果要表示类型变量是Number或者Number的super类型,可以使用下界通配符:List<?superNumber>通配符List<?>等价于:List<?extendsObject>通配符只能用于成员变量、局部变量、参数类型和返回类型,不能用于命名类和接口。泛型方法和类型推断泛型方法就是把方法的参数或返回值的类型进行参数化,声明一个泛型方法的方式如下:修饰符<T>Tfunc(Tobj){
returnobj;
}
修饰符<TextendsA>Tmethod(Tobj){
returnobj;
}小结泛型给实际编程带来了简便,泛型的类型参数只能是引用类型,不能是基本类型。本章从定义简单的泛型、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电源电路稳定性保护电路优化合同
- 电源电压调节器热设计合同
- 定点经营合同模板
- 2025年工业互联网平台NFV架构优化与性能提升实践报告
- 创新药物研发2025年靶点验证的细胞周期阻滞技术在药物研发中的应用报告
- 共享民宿在2025年旅游产业中的地位与项目可行性评估报告
- 2025年药物研发靶点发现与验证技术市场潜力与机遇展望报告
- 技术开发项目实施委托合同书
- 狐假虎威550字8篇
- 我的中国梦2000字13篇
- 2025-2030中国精密仪器行业市场发展分析及发展趋势与投资前景研究报告
- 城市地下管网施工进度控制及保障措施
- 建筑节能专项施工方案总
- 《分析化学》课程思政教学案例(一等奖)
- 2025年山东烟台国丰投资控股有限公司招聘笔试参考题库含答案解析
- 2025年江苏苏州昆山市事业单位招考笔试高频重点模拟试卷提升(共500题附带答案详解)
- 污水处理厂第三方安全协议书
- 劳模工作室创新工作室建设方案范例(2篇)
- 2024年教师资格考试小学面试数学试题及解答参考
- 破产管理人考试模拟题库及答案
- 【《馥郁香酒企业员工培训外包管理的案例分析-以酒鬼酒为例》10000字】
评论
0/150
提交评论