版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内容提要为什么要引入泛型定义简单的泛型泛型和子类继承泛型的通配符泛型方法和类型推断为什么要引入泛型从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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年计算机知识考前冲刺练习试题(原创题)附答案详解
- 2026年监理工程师之合同管理综合提升练习题【新题速递】附答案详解
- 检验工序视觉设备校准制度
- 再加工工序返工控制规范制度
- 2026年理财规划师之三级理财规划师考试押题卷及答案详解(各地真题)
- 2026年智慧树答案【分离工程】智慧树网课章节综合提升测试卷及参考答案详解(轻巧夺冠)
- 涂装车间油漆厚度监控制度
- 2026年公路技术员复习试题附完整答案详解【有一套】
- 超声波检验台振动检测维护制度
- 总装线瓶颈调整管理制度细则
- (医学课件)膀胱的解剖与生理
- 2023年北京市东城区高考英语一模试题及答案解析
- DB32-T 4245-2022 城镇供水厂生物活性炭失效判别和更换标准
- 急慢性肾小球肾炎病人的护理课件
- 应用PDCA管理工具提高病案归档率
- 招标控制价编制实例
- ipc4101b刚性及多层印制板用基材
- 骨关节炎药物治疗进展
- GB/T 33899-2017工业物联网仪表互操作协议
- GB/T 12615.3-2004封闭型平圆头抽芯铆钉06级
- 半条被子(红军长征时期故事) PPT
评论
0/150
提交评论