内 容 简 介本书以Java 2语言为基础,详细介绍了面向对象的编程思想和方法。全书共12章,主要包括:Java 2编程基础、面向对象编程原理、接口、包、字符串类String和StringBuffer、异常处理、输入和输出、多线程、Java小程序、GUI布局管理、对象序列化、内隐类、Adapter类和事件处理等,非常适合于Java初学者阅读。此外,本书还突出了Java语言与C/C++的异同点,从而也非常适合于具有C/C++编程经验,又想转向Java编程的读者阅读。本书语言流畅、实例丰富,同时配有大量的习题,并在网上提供了该书的电子教案和习题参考答案,特别适合于高等院校用作讲授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++课程之后学习,理论教学的学时往往比较少,本科教学大多是16~24学时,专科教学是32~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 1.4.2为标准 本书讲述的内容以Sun公司的J2SE 1.4.2为标准,所有程序全部在NetBeans 3.5.1上运行通过。虽然Microsoft 公司的Visual J++也是一个不错的开发工具,并且自成体系,但本书没有对其作重点介绍。 5. 突出与C/C++的异同点 如前所述,Java课程往往安排在C/C++课程之后。为了便于读者对Java的理解和掌握,本书在内容编排上突出了Java与C/C++的异同点,以免读者误解Java的知识点。 6. 力求通俗易懂 编写本书的目的是让读者通过自学或在教师的指导下,学会运用Java语言的核心要素,进行面向对象的程序设计。因此,本书围绕着如何进行Java编程展开。为了便于读者学习,作者力求使本书的语言通俗易懂,将复杂的概念采用浅显的语言来讲述,便于读者理解和掌握。 本书的编排特点 ? 每章开始均点明本章要讲解的内容和学习要求。 ? 每章结束时,都进行了小结,给出了该章内容的概括性描述,并对该章的知识点进行了归纳。 ? 每章安排的习题都具有很强的操作性,读者可通过计算机进行练习。 ? 书中重要的内容采用黑体标记,特别重要的内容采用下面加点的方式标记。 ? 本书强调程序的可读性。书中的程序全部采用统一的程序设计风格。例如,类名、方法名和变量名的定义做到“望名知义”;语句的末尾或下一句的开头放上左大括号,而右大括号自成一行,并采用缩排格式组织程序代码;此外,对程序中的语句还尽可能多地进行了注释。希望读者在编程时模仿这种程序设计风格。 ? 本书强调程序的可移植性,不以某个Java开发工具为标准,而是以Sun公司提供的最新J2SE 1.4.2为标准。 ? 本书包含了大量的程序示例,并给出了运行结果。凡是程序开头带有程序编号的程序,都是完整的程序,可以直接在计算机上编译运行。 ? 本书采用了醒目的标记来显示知识点。这些标记包括“注意”、“警告”和“思考”等,它们穿插在全书的内容中,能帮助读者尽快找到重要的信息。这些标记的含义如下: ? 警告:这是警告信息,它们往往是容易混淆的知识点。 ? 注意:值得关注的地方,其级别略次于警告。 ? 思考:提出问题,引导用户进行思考,以培养用户的独立思考能力。 教学支持 本书的电子教案是采用PowerPoint 2000制作的,可以在讲课时用多媒体投影演示,这可部分取代板书。教师不仅可以使用本教案,还可以方便地修改和重新组织其中的内容以适应自己的教学需要。使用本教案可以减少教师备课时编写教案的工作量,以及因板书所耗费的时间和精力,从而提高单位课时内的知识含量。 我们向使用本教材的教师免费提供本书的电子教案,电子教案的下载网址为<请参见原书前言>。需要本书习题参考答案的教师请发邮件至<请参见原书前言>,邮件的主题请设为<请参见原书前言>。为了更好地为您服务,请在邮件中附上姓名、工作单位、地址、联系电话、主讲课程等信息。 感谢读者选择本书,欢迎对本书的内容提出批评和修改建议,作者将不胜感激。