自20世纪90年代以来,Java已经逐渐发展成熟。其平台无关性、面向对象、联网功能和图形用户界面(GUl)以及线程支持使得Java成为许多应用程序理想的开发工具。本书将帮助您了解这些内容以及有关Java的其他重要方面,以便您可以充分地利用其功能。本书的合作Web站点为教师和学生提供了信息的更新和有用的资源。
Java结合了面向对象设计(OOD)和面向对象编程(OOP)的概念和技术,因此,从本书中您能够同时了解Java语言和OOP技术。本书通过具有面向对象结构的实例详细演示了所包含的主题。目的是以一种简明且实际的方式提供对Java和OOP全面而详细的介绍。更新Java语言本身已经很成熟,但是支持Java主要功能的类库仍在不断发展。本书更新、扩充并重新组织了1998年出版的“Java with Object-Oriented Programming and World Wide Web Applications”一书,以便包括新内容和强调OOP和OOD技术。合作Web站点提供了信息的更新和实践经验,以便于您使用Java的最新版本。
00P和00D
OOP是一种最有影响的现代编程范型;全面了解OOP是编程人员的当务之急。理论与实践相结合可使OOP原则具体化,而且可以提供形成Java构造的多种原因。许多完整的示例均演示不同的Java构造如何与个别的OOP技术相结合从而在实践中获得结果。Java为OOP提供了良好的支持。但是,只使用Java构造并不会自动产生结构良好的面向对象程序。相反,如果不利用面向对象的观点来创建良好的设计方案,最终得到的程序将非常类似于用Java编写的面向过程的程序。更为糟糕的是这样的程序将很难产生类。
首先介绍00概念和技术,它们与Java的有关内容密切相关。您将了解OOP,随着本书的深入,您将实际使用这些概念和技术。第13章主要介绍OOD概念、方法和模式。所给出的主要示例的00设计使用了统一建模语言(UML)类图,以增强面向对象的思考方式。UML类图使用以下图形符号:
为了把它们和类相区别,使用符号[[interface]]来标记接口名称,并以斜体表示。
GUI
有了图形用户界面,最终用户就可以非常轻松地编写程序。但是GUI会增加程序的复杂程度。Java基础类(Java Foundation Class,简写JFC)提供了基本的和预定义的GUI组件或构件。Swing程序包是JFC的重要组成部分。深入介绍Swing及其实际应用程序可使您初步了解applet的GUI程序(类似于独立的应用程序)。
事件驱动编程
GUI要求采用可处理运行时事件的编程风格。而不采用指定的执行路径,事件驱动程序对无法预知其发生时间的外部事件作出反应。介绍事件驱动编程技术并在GUI和applet编程中使用此技术。
内容广泛
本书同时涵盖基本主题和高级主题,重点介绍OOP和实际应用程序。
●基本主题——Java语言的结构、类、对象、使用对象解决问题、OOP提示、Java程序结构、编译、执行、错误处理和调试
●OOD和OOP——通过继承、超类和子类、方法重写、兼容于插件的对象、多态性、抽象超类、接口、统一的公共接口计划、对象克隆、迭代器、设计模式和Java中的模型视图—控制器(MVC)模式来扩充程序
●通用编程和多态性编程——编写和使用类型独立的程序或可以使用对象层次结构的程序;Java集合框架
●GUI——使用Swing构件为程序构造图形用户界面
●applet——编写和部署基于Swing的applet、Java插件
●线程——多线程的概念、技术和应用
●高级主题——使用URL和套接字联网、编写服务器端和客户端代码、远程方法调用(RMI)、多线程、了解并发编程及其所面临的问题、互斥、调度、并发活动的协作、多线程应用程序的动画制作、通过JNI与本机程序(C、C++、F77)连接、安全管理器、签名程序
示例用来演示概念、构造和用法,并显示如何合并Java功能以实现目标。但是,广泛的主题、大量的完整示例、出色的附录和完整的索引并没有占用太多的篇幅。实际上,本书并不比一般的教科书厚。
. 灵活使用
本书的初衷是将它作为高等院校的学期课程或研究生的学习资料。学生们应该已经了解C或C++语言。不过,本书包含了对语言本身的介绍,可以通过本书激励对C/C++知识了解得很少的那些学生加倍努力。本书适用于介绍Java、使用OOP的Java,或使用Java的OOP原理方面的有关课程。也可将它用于讲授OOP理论、联网、图形用户界面设计、Web编程或并发/并行编程课程。
本书还可用于制定专业培训课程。如果课时较少,则可以根据需要适当地将第10-12章跳过。高级课程可以分配较多的时间来阅读第1章和第2章,并从练习中选择更加实际的编程项目。
课程结束之后,可以将本书留作有价值的参考资料。
Web站点
为本书提供服务的Web站点如下:
http://sofpower.com/java
通过该站点可以找到信息更新、Web示例、实用练习、教师笔记(PDF格式)、文章、常见的问题解答、参考文献链接及其他资源。
在整本书中,都对概念及其用法借助示例进行了演示。我们没有炮制示例,而是尽可能使示例具有实际价值,并且能作为一个完整的程序输入到计算机中。您可以从该站点上下载完整的示例集,并遵循简单的指导宋安装这些示例。
便于参考
本书以便于您快速、方便地参考的方式组织和给出内容。书中共有11个附录,其中包括:“Java和ANSI C/C++之间的主要区别”、“Java调试器:jdb”、相互参照的类列表,以及一个全面、详尽的索引。本书对于用Java语言编程的开发人员也颇具参考价值。