快速业务通道

thinking in java - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-25
运行程序加以体会。输出是Wind.play()。这当然是我们希望的输出,但它看起来似乎并不愿按我们的希望行事。请观察一下tune()方法:

public static void tune(Instrument i) {

// ...

i.play(Note.middleC);

}

它接收Instrument句柄。所以在这种情况下,编译器怎样才能知道Instrument句柄指向的是一个Wind,而不是一个Brass或Stringed呢?编译器无从得知。为了深入了理解这个问题,我们有必要探讨一下“绑定”这个主题。

7.2.1 方法调用的绑定

7.2.2 产生正确的行为

7.2.3 扩展性

7.3 覆盖与过载

7.4 抽象类和方法

7.5 接口

7.5.1 Java的“多重继承”

7.5.2 通过继承扩展接口

7.5.3 常数分组

7.5.4 初始化接口中的字段

7.6 内部类

7.6.1 内部类和上溯造型

7.6.2 方法和作用域中的内部类

7.6.3 链接到外部类

7.6.4 static内部类

7.6.5 引用外部类对象

7.6.6 从内部类继承

7.6.7 内部类可以覆盖吗?

7.6.8 内部类标识符

7.6.9 为什么要用内部类:控制框架

7.7 构建器和多形性

同往常一样,构建器与其他种类的方法是有区别的。在涉及到多形性的问题后,这种方法依然成立。尽管构建器并不具有多形性(即便可以使用一种“虚拟构建器”——将在第11章介绍),但仍然非常有必要理解构建器如何在复杂的分级结构中以及随同多形性使用。这一理解将有助于大家避免陷入一些令人不快的纠纷。

7.7.1 构建器的调用顺序

7.7.2 继承和finalize()

7.7.3 构建器内部的多形性方法的行为

7.8 通过继承进行设计

7.8.1 纯继承与扩展

7.8.2 下溯造型与运行期类型标识

7.9 总结

7.10 练习

(1) 创建Rodent(啮齿动物):Mouse(老鼠),Gerbil(鼹鼠),Hamster(大颊鼠)等的一个继承分级结构。在基础类中,提供适用于所有Rodent的方法,并在衍生类中覆盖它们,从而根据不同类型的Rodent采取不同的行动。创建一个Rodent数组,在其中填充不同类型的Rodent,然后调用自己的基础类方法,看看会有什么情况发生。

(2) 修改练习1,使Rodent成为一个接口。

(3) 改正WindError.java中的问题。

(4) 在GreenhouseControls.java中,添加Event内部类,使其能打开和关闭风扇。

thinking in java(7)

时间:2007-05-29 本站整理 yycnet.yeah.net/yyc

第8章 对象的容纳

8.1 数组

8.1.1 数组和第一类对象

8.1.2 数组的返回

8.2 集合

8.2.1 缺点:类型未知

8.3 枚举器(反复器)

8.4 集合的类型

标准Java 1.0和1.1库配套提供了非常少的一系列集合类。但对于自己的大多数编程要求,它们基本上都能胜任。正如大家到本章末尾会看到的,Java 1.2提供的是一套重新设计过的大型集合库。

8.4.1 Vector

8.4.2 BitSet

8.4.3 Stack

8.4.4 Hashtable

8.4.5 再论枚举器

8.5 排序

8.6 通用集合库

8.7 新集合

8.7.1 使用Collections

8.7.2 使用Lists

8.7.3 使用Sets

8.7.4 使用Maps

8.7.5 决定实施方案

8.7.6 未支持的操作

8.7.7 排序和搜索

8.7.8 实用工具

8.8 总结

8.9 练习

thinking in java(8)

时间:2007-05-29 本站整理 yycnet.yeah.net/yyc

第9章 违例差错控制

9.1 基本违例

9.1.1 违例自变量

9.2 违例的捕获

若某个方法产生一个违例,必须保证该违例能被捕获,并获得正确对待。对于Java的违例控制机制,它的一个好处就是允许我们在一个地方将精力集中在要解决的问题上,然后在另一个地方对待来自那个代码内部的错误。

为理解违例是如何捕获的,首先必须掌握“警戒区”的概念。它代表一个特殊的代码区域,有可能产生违例,并在后面跟随用于控制那些违例的代码。

9.2.1 try块

9.2.2 违例控制器

9.2.3 违例规范

9.2.4 捕获所有违例

9.2.5 重新“掷”出违例

9.3 标准Java违例

9.3.1 Runti

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号