3。 目标
就象我的前一本书《Thinking in C++》一样,这本书面向语言的教授进行了良好的结构与组织。特别地,我
的目标是建立一套有序的机制,可帮助我在自己的研讨会上更好地进行语言教学。在我思考书中的一章时,
实际上是在想如何教好一堂课。我的目标是得到一系列规模适中的教学模块,可以在合理的时间内教完。随
后是一些精心挑选的练习,可以在课堂上当即完成。
在这本书中,我想达到的目标总结如下:
8
…………………………………………………………Page 10……………………………………………………………
(1) 每一次都将教学内容向前推进一小步,便于读者在继续后面的学习前消化前面的内容。
(2) 采用的示例尽可能简短。当然,这样做有时会妨碍我解决“现实世界”的问题。但我同时也发现对那些
新手来说,如果他们能理解每一个细节,那么一般会产生更大的学习兴趣。而假如他们一开始就被要解决的
问题的深度和广度所震惊,那么一般都不会收到很好的学习效果。另外在实际教学过程中,对能够摘录的代
码数量是有严重限制的。另一方面,这样做无疑会有些人会批评我采用了“不真实的例子”,但只要能起到
良好的效果,我宁愿接受这一指责。
(3) 要揭示的特性按照我精心挑选的顺序依次出场,而且尽可能符合读者的思想历程。当然,我不可能永远
都做到这一点;在那些情况下,会给出一段简要的声明,指出这个问题。
(4) 只把我认为有助于理解语言的东西介绍给读者,而不是把我知道的一切东西都抖出来,这并非藏私。我
认为信息的重要程度是存在一个合理的层次的。有些情况是95%的程序员都永远不必了解的。如强行学习,
只会干扰他们的正常思维,从而加深语言在他们面前表现出来的难度。以 C 语言为例,假如你能记住运算符
优先次序表(我从来记不住),那么就可以写出更“聪明”的代码。但再深入想一层,那也会使代码的读者
/维护者感到困扰。所以忘了那些次序吧,在拿不准的时候加上括号即可。
(5) 每一节都有明确的学习重点,所以教学时间(以及练习的间隔时间)非常短。这样做不仅能保持读者思
想的活跃,也能使问题更容易理解,对自己的学习产生更大的信心。
(6) 提供一个坚实的基础,使读者能充分理解问题,以便更容易转向一些更加困难的课程和书籍。
4。 联机文档
由Sun 微系统公司提供的 Java 语言和库(可免费下载)配套提供了电子版的用户帮助手册,可用Web 浏览器
阅读。此外,由其他厂商开发的几乎所有类似产品都有一套等价的文档系统。而目前出版的与Java 有关的几
乎所有书籍都重复了这份文档。所以你要么已经拥有了它,要么需要下载。所以除非特别必要,否则本书不
会重复那份文档的内容。因为一般地说,用Web 浏览器查找与类有关的资料比在书中查找方便得多(电子版
的东西更新也快)。只有在需要对文档进行补充,以便你能理解一个特定的例子时,本书才会提供有关类的
一些附加说明。
5。 章节
本书在设计时认真考虑了人们学习 Java 语言的方式。在我授课时,学生们的反映有效地帮助了我认识哪些部
分是比较困难的,需特别加以留意。我也曾经一次讲述了太多的问题,但得到的教训是:假如包括了大量新
特性,就需要对它们全部作出解释,而这特别容易加深学生们的混淆。因此,我进行了大量努力,使这本书
一次尽可能地少涉及一些问题。
所以,我在书中的目标是让每一章都讲述一种语言特性,或者只讲述少数几个相互关联的特性。这样一来,
读者在转向下一主题时,就能更容易地消化前面学到的知识。
下面列出对本书各章的一个简要说明,它们与我实际进行的课堂教学是对应的。
(1) 第 1 章:对象入门
这一章是对面向对象的程序设计(OOP)的一个综述,其中包括对“什么是对象”之类的基本问题的回答,并
讲述了接口与实现、抽象与封装、消息与函数、继承与合成以及非常重要的多形性的概念。这一章会向大家
提出一些对象创建的基本问题,比如构建器、对象存在于何处、创建好后把它们置于什么地方以及魔术般的
垃圾收集器(能够清除不再需要的对象)。要介绍的另一些问题还包括通过违例实现的错误控制机制、反应
灵敏的用户界面的多线程处理以及连网和因特网等等。大家也会从中了解到是什么使得Java 如此特别,它为
什么取得了这么大的成功,以及与面向对象的分析与设计有关的问题。
(2) 第2 章:一切都是对象
本章将大家带到可以着手写自己的第一个 Java 程序的地方,所以必须对一些基本概念作出解释,其中包括对
象“句柄”的概念;怎样创建一个对象;对基本数据类型和数组的一个介绍;作用域以及垃圾收集器清除对
象的方式;如何将Java 中的所有东西都归为一种新数据类型(类),以及如何创建自己的类;函数、自变量
以及返回值;名字的可见度以及使用来自其他库的组件;static关键字;注释和嵌入文档等等。
(3) 第 3 章:控制程序流程
本章开始介绍起源于C 和C++,由Java 继承的所有运算符。除此以外,还要学习运算符一些不易使人注意的
问题,以及涉及造型、升迁以及优先次序的问题。随后要讲述的是基本的流程控制以及选择运算,这些是几
9
…………………………………………………………Page 11……………………………………………………………
乎所有程序设计语言都具有的特性:用 if…else 实现选择;用 for 和while 实现循环;用break 和 continue
以及Java 的标签式break 和 contiune (它们被认为是Java 中“不见的 gogo”)退出循环;以及用 switch
实现另一种形式的选择。尽管这些与C 和C++中见到的有一定的共通性,但多少存在一些区别。除此以外,
所有示例都是完整的Java 示例,能使大家很快地熟悉Java 的外观。
(4) 第4 章:初始化和清除
本章开始介绍构建器,它的作用是担保初始化的正确实现。对构建器的定义要涉及函数过载的概念(因为可
能同时有几个构建器)。随后要讨论的是清除过程,它并非肯定如想象的那么简单。用完一个对象后,通常
可以不必管它,垃圾收集器会自动介入,释放由它占据的内存。这里详细探讨了垃圾收集器以及它的一些特
点。在这一章的最后,我们将更贴近地观察初始化过程:自动成员初始化、指定成员初始化、初始化的顺
序、static (静态)初始化以及数组初始化等等。
(5) 第 5 章:隐藏实现过程
本章要探讨将代码封装到一起的方式,以及在库的其他部分隐藏时,为什么仍有一部分处于暴露状态。首先
要讨论的是 package 和 import关键字,它们的作用是进行文件级的封装(打包)操作,并允许我们构建由类
构成的库(类库)。此时也会谈到目录路径和文件名的问题。本章剩下的部分将讨论 public,private 以及
protected 三个关键字、“友好”访问的概念以及各种场合下不同访问控制级的意义。
(6) 第6 章:类再生
继承的概念是几乎所有 OOP 语言中都占有重要的地位。它是对现有类加以利用,并为其添加新功能的一种有
效途径(同时可以修改它,这是第 7 章的主题)。通过继承来重复使用原有的代码时(再生),一般需要保
持“基础类”不变,只是将这儿或那儿的东西串联起来,以达到预期的效果。然而,继承并不是在现有类基
础上制造新类的唯一手段。通过“合成”,亦可将一个对象嵌入新类。在这一章中,大家将学习在Java 中重
复使用代码的这两种方法,以及具体如何运用。
(7) 第 7 ?
小说推荐
- 软件工程实践者的思想(PDF格式)
- -Page 1-大 道 至 简—软件工程实践者的思想周爱民(Aimingoo 著-Page 2-序2004 年 11 月初爱民(Aimingoo)第一次把他的书稿给我,我翻看了一下,第一反应讲的是感想。这不错,在技
- 其他
- 最新章:第26章
- 深入浅出MFC第2版(PDF格式)
- -Page 1-Page 2-山高月小山高月小 水落石出水落石出山高月小山高月小 水落石出水落石出-Page 3-深入淺出MFC(第版 使用Visual C 5.0 MFC 4.2)Dissecting MFC(Second Edition Using Visual C 5.0 MFC 4.2)侯俊
- 其他
- 最新章:第309章
- VB2008从入门到精通(PDF格式英文版)
- -Page 1(R)The eXperT’s Voice inBeginningVB 2008From Novice to ProfessionalChristian Gross-Page 2-Page 3-Beginning VB 2008From Novice to Professional■C
- 其他
- 最新章:第214章
- C语言游戏编程从入门到精通(PDF格式)
- -Page 1-Page 2-Page 3-Page 4-Page 5-Page 6-Page 7-Page 8-Page 9-Page 10-Page 11-Page 12-Page 13-Page 14
- 其他
- 最新章:第4章
- JMS简明教程(PDF格式)
- -Page 1-JMS1.1规范中文版卫建军2007‐11‐22-Page 2
- 其他
- 最新章:第28章
- C语言实例教程(PDF格式)
- -Page 1-前 言Visual C+是开发运行于Windows 95和Windows NT环境下的Win32应用程序的可视化编程工具中最重要的成员之一,它为软件开发人员提供了完整的编辑、编译和调试工具和建立于Win32 API(ApplicationProgramming Interface)基
- 其他
- 最新章:第143章
- 神祗之眼 (正式版)第7卷(全文完)作者:百里芜虚
- 第五十一章离12月25日的圣诞节还有两天,纽约已经换上了节日的盛装,几天前的一场大雪令整个城市一片银白。人们笑逐颜开,都纷纷开始为节日做准备,商家为了在节日打开销路纷纷推出各种优惠促销手段,纽约的大街小巷全都这样热闹。依沙那被老婆打发出来买过节要用的杂货,而女儿则和凯妮一起到百货商场去买衣服去了。对
- 魔法玄幻
- 最新章:第23章
- SQL语言艺术(PDF格式)
- -Page 1-SQLSSQQLL语言艺术内容介绍本书分为12章,每一章包含许多原则或准则,并通过举例的方式对原则进行解释说明。这些例子大多来自于实际案例,对九种SQL经典查询场景以及其性能影响讨论,非常便于实践,为你数据库应用维护人员阅读。资深 SQL 专家 Stéphane Faroult倾力打
- 其他
- 最新章:第27章
- php程序设计简明教程(DOC格式)
- -Page 1-PHP 程序设计简明教程PHP 讲义 第 1 页 共 90 页-Page 2-目录序 4第一章 PHP 简介 6
- 其他
- 最新章:第31章