本书是作者在清华大学开设的一门深受同学欢迎的公共任选课“Java语言与面向对象程序设计”的教材。此课程自1997年秋季开设以来,每学期报名选课的人数都逾千人,一度成为清华大学选课人数最多的公共任选课。这门课程的内容也随着Java语言与面向对象编程技术的发展而不断更新,本书既凝聚了作者的教学经验和体会,也包含了最新的Java编程技术,书中的所有的例题和程序都在Java2环境中编译通过并运行成功。目前,面向对象技术已经逐步替代了面向过程的程序设计技术成为计算机应用开发领域的主流趋势。本书以Java语言为载体,在介绍Java编程的同时讲解面向对象程序设计的主要原则和方法。本书是面向大中专院校的低年级学生及其他同等程度的对Java语言和面向对象编程技术感兴趣的读者编写的,书中对内容编排、剪裁和例题选择都做了严格的控制,确保了一定的深度和广度,在难易程度上亦遵循由浅入深,循序渐进的原则。学习本书之前应该对计算机操作有一定的认识,但是不必有开发经验,接触过一门高级语言的读者会感到学习本书得心应手,从未编过程序的读者只要对于前三章多花些心思,一样可以获得良好的学习效果。本书第1章概述了面向对象软件开发,包括面向对象问题求解的提出、对象的概念,以及面向对象软件开发的一般过程,是学习面向对象软件开发的基础知识。第2、3章介绍了Java编程的基础知识,包括数据类型、变量、表达式和流程控制语句。第4、5两章以Java的面向对象编程为例,详细地讨论了面向对象技术的四大特点:封装、抽象、继承和多态及其在面向对象程序设计中的具体应用。要掌握好Java语言并具有利用它解决实际问题的能力,仅仅学习语法规则是不够的,还需要熟练掌握Java的应用程序编程接口,即Java的类库。第6章介绍Java的类库结构、数组、字符串和查找、排序这些常用算法以及堆栈、链表、树等常见数据结构。第7章介绍Java的图形界面的设计和编程实现。第8章介绍Java的异常处理、多线程编程、SwingGUI组件、输入输出处理和网络编程。本书可以作为大中专院校的公共课教材,也可以作为感兴趣读者的自学用书。本书配有教师用电子教案。