Java实用教程第22讲泛型

Java实用教程第22讲泛型

ID:41233068

大小:525.50 KB

页数:13页

时间:2019-08-20

Java实用教程第22讲泛型_第1页
Java实用教程第22讲泛型_第2页
Java实用教程第22讲泛型_第3页
Java实用教程第22讲泛型_第4页
Java实用教程第22讲泛型_第5页
资源描述:

《Java实用教程第22讲泛型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第22讲泛型泛型是指参数化类型的能力,其最初的目的是希望类或方法能够具备最广泛的表达能力。可以定义带泛型类型的类或方法,随后编译器会用具体类型来替换它。在程序中使用泛型的好处是能够在编译时检查出错误,而不是在运行时刻。第22讲泛型22.1泛型22.2自定义泛型类和接口22.4受限的泛型22.4受限的泛型22.5原始类型和向后兼容22.6通配泛型讲后练习22.1泛型从JDK1.5开始,Java允许定义泛型类、泛型接口和泛型方法,已经使用泛型对JavaAPI中的类、接口和方法进行了修改。如在JDK1.5之前接口Comparable的定义如下:publicinterface

2、Comparable{publicintCompareTo(Objecto)}而在JDK1.5之后,其定义如下:publicinterfaceComparable{publicintCompareTo(To)}从JDK1.5开始,Java允许定义泛型类、泛型接口和泛型方法,已经使用泛型对JavaAPI中的类、接口和方法进行了修改。如在JDK1.5之前接口Comparable的定义如下:publicinterfaceComparable{publicintCompareTo(Objecto)}而在JDK1.5之后,其定义如下:publicinterfaceComp

3、arable{publicintCompareTo(To)}程序中的(有时为,两者并无本质区别)表示形式泛型类型,随后可以使用一个实际的具体类型替换它。替换泛型类型称为泛型实例化。22.2自定义泛型类和接口创建“容器(Collection,集合)类”是促使泛型出现的原因之一。泛型可以使集合记住其内各元素的类型,并且能够在编译时找出错误。JDK1.5之后,已经使用泛型对JavaAPI进行了改写,下面程序展示了使用泛型改写后的ArrayList类的用法:importjava.util.*;publicclassTestGenericsAPI{public

4、staticvoidmain(String[]args){Listlist=newArrayList();list.add("hello");list.add("java");//list.add(2);for(inti=0;i

5、用。编写Java泛型方法时,返回值类型和至少一个参数类型应该是泛型,而且类型应该一致,如果只有返回值类型或参数类型之一使用了泛型,那么这个泛型方法的使用就会受到很大的限制,几乎和不使用泛型一样。22.4受限的泛型在定义泛型类型时,预设可以使用任何类型来实例化泛型类型。但是如果想限制使用泛型类型时,可以将泛型指定为另一种类型的子类型,即:使用extends关键字指定泛型类型必须继承某个类,或者实现某个接口,也可以是这个类或接口本身。下面程序展示了使用受限泛型定义的方法:publicclassRestrictedGenericsMethod{publicstatic

6、xtendsShape>booleanequalArea(Eobj1,Eobj2){returnobj1.getArea()==obj2.getArea();}publicstaticvoidmain(String[]args){Circlec=newCircle(20.3);Ranctangleranc=newRanctangle(10.4,20.2);MyShapeshape=newMyShape();System.out.println(RestrictedGenericsMethod.equalArea(c,ranc));}}22.

7、5原始类型和向后兼容可以使用泛型类而不必指定具体类型,如:Boxb=newBox();它大体等价于:Boxb=newBox();不使用类型参数的泛型称为原始类型。在Java的早起版本中,允许使用原始类型向后兼容,但原始类型是不安全的,可能会出现运行时错误。22.6通配泛型为了解决类型被限制死了而不能动态根据实例来确定的缺点,引入了“通配符泛型”。通配泛型有三种形式:(1):称为非受限通配,等同于(2):称为受限通配,表示T或T的一个未知子类型。(3)
当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。