内 容 简 介本书以Java 2语言为基础,详细介绍了面向对象的编程思想和方法。全书共12章,主要包括:Java 2编程基础、面向对象编程原理、接口、包、字符串类String和StringBuffer、异常处理、输入和输出、多线程、Java小程序、GUI布局管理、对象序列化、内隐类、Adapter类和事件处理等,非常适合于Java初学者阅读。此外,本书还突出了Java语言与C/C++的异同点,从而也非常适合于具有C/C++编程经验,又想转向Java编程的读者阅读。本书语言流畅,实例丰富,全部代码都在JDK 5.0运行环境下调试通过,并配有大量的习题,同时在http://www.tupwk.com.cn 网站“资源下载”栏提供了该书的电子教案和程序示例源码。本书特别适合于高等院校用作讲授Java 2编程语言和面向对象程序设计的教材。
前 言 Internet的发展极大地影响着计算机世界,同时也影响着人们的生活。目前,它已经成为全球范围最大和资源最为丰富的网络。美国的Sun Microsystems公司推出的Java语言是一种令人激动的新型语言,它具有面向对象、平台无关、可移植性强、安全、支持分布式等诸多特征,特别适合开发Internet程序,它能使网页中静态的图像和文本元素变得具有动感,栩栩如生。 网络是多台计算机的互联集合,Java则是网络中通用的世界语。目前,Java已经成为网络编程语言事实上的标准。从计算机程序设计语言的发展历史来看,Java语言是在C++语言之上推出的新一代语言,其语法与C++的语法相似,但剔除了C++中易于出错的成分。Java增加了诸如内存自动回收之类的新功能,删去了C++中令人费解的、不常用的成分,如运算符重载等。Java语言自从1995年问世以来,很快流行于全世界,并获得了极大成功。目前,许多软件项目已选择Java语言作为其编程语言,特别是计算机网络方面的软件,如大型软件ERP有许多就是采用Java语言开发的。目前越来越多的人开始学习并使用Java语言,全世界已经掀起了一股Java热潮。 Java 2的推出使Java的用途更加广泛,它适用于各种应用开发,尤其是网络应用和嵌入式系统开发。 本书的第一版受到了大量读者(高校教师、大学生、程序员等)的欢迎,他们在使用的过程中,给作者提出了一些很好的意见和建议,在此,作者表示深深的感谢。 本书特点 1. 抓住重要概念 Java语言属于高等院校计算机相关专业的学生要学习的一门专业课,一般安排在C/C++课程之后学习,理论教学的学时往往比较少,本科教学大多是24学时,专科教学是40学时。在如此少的学时内,教师不可能讲授完Java 2的所有知识,只能抓住重点内容进行介绍。针对这种情况,本书突出了Java与C/C++的不同之处,对这些语言的共性不作详细介绍,仅仅讲授Java 2的核心内容,这不但便于读者学习和掌握,同时也便于教师讲解。 本书将要介绍的主要知识点如下。 ● 类:类是面向对象程序设计中的重要概念。本书从第4章起便开始介绍类及其应用。 ● 字符串:Java将字符串作为一种对象进行处理,这与C/C++不同。本书单独开辟一章讲解用于处理字符串的类String和StringBuffer,并对各种处理方式的特点、性质和处理方法进行了分析。 ● 异常处理:采用Java语言编写的系统不会因几个较小的错误而导致整个系统崩溃,因而异常处理是系统设计中不得不考虑的一个因素。 ● 输入和输出处理:为了支持网络数据读写,Java提供了许多数据输入和输出类。本书分析和讲解了其中较常用的类,并着重介绍了对象序列化的知识。 ● 多线程:多线程可以使程序并行执行,从而提高对系统资源的利用率。本书重点介绍了如何设计多线程程序。 ● 事件处理:事件处理是图形用户界面程序设计的核心。本书深入分析了Java委托事件处理思想、组件事件、鼠标事件和键盘事件,并给出了3个比较大的示例。 2. 舍弃次要内容 考虑到Java语言课程的学时有限,以及Java与C/C++之间的关系,本书对Java开发工具的应用、基本数据类型、运算符、控制语句和类库,都没有作过多的讨论。例如,Java中的基本数据类型、运算符及控制语句等内容与C/C++类似,因而只是作了简单介绍;另外,由于Java的类库十分庞大,因此本书仅对常用的类库进行了介绍。 3. 力求培养学生的思考能力 本书就Java的一些实现技术进行了讨论和分析,并介绍了实现内幕。例如,作者结合自己的理解,分析了实例变量和方法的多态性问题(见第4.9节);结合String和StringBuffer类,分析了“+”号操作的实现内幕(见第6.2.3节)。这些内容对培养学生的思考能力提供了一定的帮助,有助于培养他们勤于思考、勇于实践的能力。 4. 以最新的J2SE 5.0为标准 本书讲述的内容以Sun公司的J2SE 5.0为标准,所有程序均在NetBeans 4.1集成开发环境下运行通过。 5. 突出Java与C/C++的异同点 如前所述,Java课程往往安排在C/C++课程之后。为了便于读者对Java的理解和掌握,本书在内容编排上突出了Java与C/C++的异同点,以免读者误解Java的知识点。 6. 力求通俗易懂 编写本书的目的是让读者通过自学或在教师的指导下,学会运用Java语言的核心要素,进行面向对象的程序设计。因此,本书围绕着如何进行Java编程展开。为了便于读者学习,作者力求使本书的语言通俗易懂,将复杂的概念采用浅显的语言来讲述,便于读者理解和掌握。 本书的编排特点 ● 每章开始均点明本章要讲解的内容和学习要求。 ● 每章结束时,都进行了小结,给出了该章内容的概括性描述,并对该章的知识点进行了归纳。 ● 每章安排的习题都具有很强的操作性,读者可通过计算机进行练习。 ● 书中重要的内容采用黑体标记,特别重要的内容采用下面加点的方式标记。 ● 本书强调程序的可读性。书中的程序全部采用统一的程序设计风格。例如,类名、方法名和变量名的定义做到“望名知义”;语句的末尾或下一句的开头放上左大括号,而右大括号自成一行,并采用缩排格式组织程序代码;此外,对程序中的语句还尽可能多地进行了注释。希望读者在编程时模仿这种程序设计风格。 ● 本书强调程序的可移植性,不以某个Java开发工具为标准,而是以Sun公司提供的最新J2SE 5.0为标准。 ● 本书包含了大量的程序示例,并给出了运行结果。凡是程序开头带有编号的,都是完整的程序,可以直接在计算机上编译运行。 ● 本书采用了醒目的标记来显示知识点。这些标记包括“注意”、“警告”和“思考”等,它们穿插在全书中,能帮助读者尽快找到重要的信息。这些标记的含义如下。 • 警告:这是警告信息,它们往往是容易混淆的知识点。 • 注意:值得关注的地方,其级别略次于警告。 • 思考:提出问题,引导读者进行思考,以培养读者的独立思考能力。 教学支持 本书的电子教案是采用PowerPoint 2000制作的,可以在讲课时用多媒体投影演示,这可部分取代板书。教师不仅可以使用本教案,还可以方便地修改和重新组织其中的内容以适应自己的教学需要。使用本教案可以减少教师备课时编写教案的工作量,以及因板书所耗费的时间和精力,从而提高单位课时内的知识含量。 我们向使用本教材的教师免费提供本书的电子教案和116个程序示例源码,它们的下载网址为http://www.tupwk.com.cn/downpage。需要本书习题参考答案的教师请发邮件至cwkbook@tup.tsinghua.edu.cn,邮件的主题请设为“获取《Java 2简明教程(第2版)》的参考答案”。为了更好地为您服务,请在邮件中附上姓名、工作单位、地址、联系电话、主讲课程等信息。 感谢读者选择本书,欢迎对本书的内容提出批评和修改建议,作者将不胜感激。作者的联系地址如下。 电子邮件地址:dc.pi@nuaa.edu.cn 通信地址:江苏省南京市南京航空航天大学信息科学与技术学院 皮德常(收) 邮政编码:210016 作 者 2006年3月