JAVA核心技术(卷1)-基础知识(原书第8版)

JAVA核心技术(卷1)-基础知识(原书第8版)

ID:32524172

大小:19.28 MB

页数:708页

时间:2019-02-10

JAVA核心技术(卷1)-基础知识(原书第8版)_第1页
JAVA核心技术(卷1)-基础知识(原书第8版)_第2页
JAVA核心技术(卷1)-基础知识(原书第8版)_第3页
JAVA核心技术(卷1)-基础知识(原书第8版)_第4页
JAVA核心技术(卷1)-基础知识(原书第8版)_第5页
资源描述:

《JAVA核心技术(卷1)-基础知识(原书第8版)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第121ê在泛型程序设计A为什么要使用泛型嚣萍没i十A约束与局限性A高单泛型类的定义A泛型类型的结承辑则A泛型方些...)题配符类主A挺挺变量的眼定A反主才和泛型A泛絮代码和虚拟却L从Java程序设计语言1.0版发布以来,变化最大的部分就是泛型。致毛主JavaSE5.0中增如泛翠机制的主要累西是为了满足在1999年制定的最早的Java规范需求之一(JSR1的。专家组花费了5年发右的时闰用来定义提草草E测试实现。泛室正是我们需要的程序设计手段。使用泛型机制编写的程序代码要比黑些杂乱地使用。bject变量,然后再进行强制类型转换的代码具有更

2、好的安全性和可读性命泛望对于1是命英尤其有用,例如,ArrayList就是一个无处不有的集会类。翌少在表面上肴来,花重摄像C++中的摸援。与Java一样,在C村中,模板毡,是最先被添加到语言中支持强类型集会的。但是,多年之后人们发现摸援还有其他的用武之地。学习完本章的内容可以发现Java中的泛型在程序中钱,是如此。12.1为什么襄使用泛型程序设计浅爱程序设计(Genericprogramming)意味着编写的代码可以被很多不爵类蟹的对象所震用。挺如,税111并不希望为聚集Stri吨和File对象分黯设计不同的类。实际上,也不需要这样散,

3、自为一个AηayList类可以聚集饪窍类蟹的对象e这是…个泛型程序设计的实割。在JavaS在5.0之前,Java泛爱程序设计是男继承实现的。ArrayList~能只维护…个Object引用的数辑:publicclassArr在yl1st11悦foreJav喜SE5.0publicObj牵ctget(inti){.集.}publicvoidadd(Object0){•••}privateObject[]eleJ始啦剧;这样的实理有两个问题。当获取一个值时必续进持强制类型转换。Arraylistfiles=newArraylistOiStr

4、ingfilena隙貌。树略目ames.get(的;524第12幸此外,这里没有错接栓查。可以向数提到表中添加任何类的荒草象。files.add(r.ewFil告("..•"));又士于这个词用,锦i辛和运1T都不会出错。荒而在其他能方,如果将get的结果强制类型转换为String类型,就会产业一个错误。泛骂i提供了…个更好的皇军决方案:类型参数(typeparameter吟。ArrayList类有一个类型参数期来指示元素的类型:AMHE伊Fg气dυ''gL·•,、4争丸,、ZJ伽L1伊-1院"mu"、,,r'a'•1向庐L、F、阳=-

5、捎"衍"份惩M"A挡《nz伊F28吨a刊誓,3zL‘1‘俨、‘Et、确/、庐、‘A4.‘"1.1肉H内划,、,r{}••乡'.w,这使得代码具有更好的可读性。人扫一看就知道这个数提列表中缸含的是String对象。锦i辛器也可以f良好地利Jfl这个信息。当调踊get的时候,不提要进行强制类转换,缩译器就知道返回值类~:;l专Stri吨,而不是Object;Stringfi1♂ame能files.get(0);结译器还知道ArrayList中add方住有一个类要为String的参数。这将比使用Oòject类型的参数安全一段。

6、现在,编译器可以进任核查,避免插入错读类型的对象。伊j如:fil号s.add(newFi1剖'二.."));11canonlyaddStringobjectsto革nArraylist是无主主递过编译的。出现编译错误比类在运好时出表类的强制类搜转换异常要好得多。类型参散的魅力缸子:使得程序具有更好的可读性和安全性。谁想成为范搜程序提?使用像ArrayList的泛型类很容易。大多数Java程序员都使用ArrayList这样的类莹,就好像它{口已经构建在谣言之中,像String[]数组…样。(当然,数撞到表比

7、数提要好一些,因为它可以自动扩展。}但是,实现一个泛型类并没有那么容易。对于类型参数,使黯这段代码的程序员可能想要内置(plugin)所有的类。他们希望在没有过多的限制以及混乱的错提擂患的状态下,散所有的事情。因此,一个应型程序茧的任务就是预溜出所周挠的未来可能有的所有用途9这…任务越到什么程度呢?下蛋是择;是类席的设计者的肯定产生争i义的…个典型问题。ArrayList类有一个方站在ddAl1用来添加另一个集合的全部元素。程序挺可能想要将Aη在yList中的所有元素播却董IIA技巧List

8、,反过来就不衍了。如果只能免掉搞一个词用,隔不嚣充许后一个调用黯?Javaì署窑的设计者发明了一个具有戳创性的新黯念.i通配1号类型(wildcardtype).它解决了这个问嚣。通自己符类型非营抽象,然醋

当前文档最多预览五页,下载文档查看全文

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

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