标题：国外著名高等院校信息科学与技术优秀教材·Java软件开发
图书信息
出版社: 人民邮电出版社; 第1版 (2008年7月1日)
丛书名: 国外著名高等院校信息科学与技术优秀教材
平装: 716页
正文语种: 简体中文
开本: 16
ISBN: 9787115174628
条形码: 9787115174628
尺寸: 25.6 x 18.2 x 3 cm
重量: 962 g
作者简介
作者：(英国)温德尔(Russel Winder) (英国)罗伯茨(Roberts.G.) 译者：黄湘情 曹永存
内容简介
《国外著名高等院校信息科学与技术优秀教材?Java软件开发(第3版)》是专门为Java软件开发课程编写的教材，旨在帮助读者学习Java程序设计和软件开发。《国外著名高等院校信息科学与技术优秀教材?Java软件开发(第3版)》分为5个部分。第1部分（第1-10章）阐述了面向对象的Java语言和面向对象开发过程的基本概念和主要思想；第2部分（第11-14章）是有关程序设计的过程，介绍测试驱动开发的原理、过程、工具和技术，并说明是如何进行编程的；第3部分（第15-17章）给出了一些可以用于自学的案例，包括一些用来组织讨论会、扩展程序开发的项目基础内容。第4部分（第18-24章）是Java语言的自学指南和参考。附录部分提供了有关Java编程的一些有用参考资料。
目录
第1部分　对象和类的编程
第1章　简介
1.1　引言　
1.2　Java简史　
1.3　Java生逢其时　
1.4　Java是什么　
1.5　抽象：编程的重要核心　
1.6　Java 2平台　
1.7　Java的体系结构是平台无关的　
1.8　Java不是玩笑　
1.9　小结　
第2章　程序设计基础　
2.1　引言　
2.2　抽象和概要　
2.3　语句的顺序　
2.4　迭代　
2.4.1　Java的while语句和复合语句　
2.4.2　Java的do语句　
2.5　选择语句　
2.5.1　Java的if语句　
2.5.2　Java的break语句　
2.6　变量　
2.6.1　变量的命名　
2.6.2　赋值　
2.6.3　变量的类型　
2.6.4　初始化变量　
2.6.5　常数变量（命名常量）　
2.6.6　变量和类型检查　
2.6.7　变量的比较　
2.7　编写一个简单的Java程序（程序1）　
2.8　使用注释　
2.9　输出语句　
2.10　输入语句　
2.11　交互式程序　
2.11.1　程序2——基本的输入输出　
2.11.2　程序3——使用字符串　
2.11.3　程序4——使用表达式　
2.12　小结　
2.13　复习题　
2.14　练习题　
2.15　挑战题　
第3章　向程序中增加结构　
3.1　引言　
3.2　抽象和封装　
3.3　方法　
3.3.1　从方法返回值　
3.3.2　void方法和类型　
3.3.3　方法的参数　
3.3.4　多个方法参数　
3.3.5　递归　
3.4　如何在程序中使用方法　
3.4.1　例程：乘法表程序　
3.4.2　例程：回文程序　
3.5　过程分解　
3.6　封装　
3.6.1　作用域与生存期　
3.6.2　命名与作用域　
3.7　更多的运算符　
3.7.1　递增、递减和赋值运算符　
3.7.2　算术表达式和类型　
3.7.3　条件运算符　
3.8　更多的控制语句　
3.8.1　for循环语句　
3.8.2　switch语句　
3.9　更多的实例程序　
3.9.1　例程：字符三角形（CharacterTriangle）程序　
3.9.2　例程：字符矩形（CharacterRectangle）程序　
3.9.3　例程：二进制转十进制（ConverBinaryToDecimal）程序　
3.10　小结　
3.11　复习题　
3.12　练习题　
3.13　挑战题　
第4章　容器类介绍　 
4.1　引言　
4.2　数组　
4.2.1　声明数组　
4.2.2　数组索引　
4.2.3　Foreach循环　
4.2.4　数组用作方法参数　
4.2.5　数组用作返回值　
4.2.6　求平均数（Mean）程序　
4.2.7　Array类　
4.2.8　多维数组　
4.2.9　数组初始化表达式　
4.2.10　AddUpColumns程序　
4.2.11　main方法的参数　
4.2.12　字符数组和字符串　
4.3　容器（Container）类　
4.3.1　ArrayList类　
4.3.2　容器类和基本类型　
4.3.3　Foreach循环　
4.3.4　修改Mean程序　
4.4　数据文件　
4.4.1　文本数据　
4.4.2　用FileInput类读取数据　
4.4.3　用FileOutput类写数据　
4.4.4　DisplayTextFile程序　
4.4.5　Copy程序　
4.4.6　WordCount程序　
4.5　小结　
4.6　复习题　
4.7　练习题　
4.8　挑战题　
第5章　画图　
5.1　引言　
5.2　绘图　
5.2.1　画一条线段　
5.2.2　画矩形、正方形、椭圆和圆　
5.2.3　其他的标准图形　
5.2.4　创建新的图形　
5.3　绘图的属性　
5.3.1　颜色　
5.3.2　线宽　
5.3.3　图形的填充　
5.4　绘制文本　
5.5　程序例程　
5.5.1　例程：棋盘程序　
5.5.2　例程：螺旋线程序　
5.5.3　例程：图形程序　
5.6　小结　
5.7　复习题　
5.8　练习题　
5.9　挑战题　
第6章　类和对象　
6.1　引言　
6.2　创建新的数据类型　
6.2.1　栈对象　
6.2.2　Stack类　
6.3　通用类　
6.4　方法的命名和作用域　
6.5　对象初始化　
6.5.1　实例变量的直接初始化　
6.5.2　构造函数（Constructor）　
6.5.3　实例初始化块　
6.5.4　多种方法如何选择
6.6　对象和引用　
6.6.1　删除旧的对象　
6.6.2　对象、引用和基本类型　
6.6.3　对象与方法参数　
6.6.4　复制对象　
6.6.5　相等性和对象　
6.6.6　null　
6.6.7　this操作符　
6.7　静态变量和静态方法　
6.8　类的几个例子　
6.8.1　例程：Name类　
6.8.2　例程：Matrix类　
6.8.3　例程：Graph类　
6.9　用类和对象进行程序设计　
6.9.1　对象用来提供服务　
6.9.2　类与封装　
6.10　枚举类型　
6.11　示例——创建桥牌　
6.12　小结　
6.13　复习题　
6.14　练习题　
6.15　挑战题　
第7章　类关系详述　
7.1　引言　
7.2　关联　
7.2.1　对象所有权（OwnerShip）　
7.2.2　有效地使用关联　
7.3　继承　
7.3.1　使用继承　
7.3.2　protected　
7.3.3　继承和构造函数　
7.3.4　超类　
7.3.5　QueueT与DequeueT的实现示例　
7.3.6　静态变量和继承　
7.3.7　隐藏名称　
7.3.8　方法覆盖和动态绑定　
7.4　关联与继承之间的抉择　
7.5　继承的层次体系　
7.5.1　Object类　
7.5.2　抽象类　
7.6　接口和类型一致性　
7.6.1　可替换性、类型和一致性　
7.6.2　接口及其实现　
7.7　比较对象的相等性　
7.7.1　Class类和Instanceof运算符　
7.7.2　一个惯例　
7.8　嵌套（Nested）类　
7.9　包（package）　
7.10　例程：再次研究Matrix类　
7.11　可复用性与组件　
7.12　小结　
7.13　复习题　
7.14　练习题　
7.15　挑战题　
第8章　异常　
8.1　问题是什么　
8.2　错误的种类　
8.3　表示异常　
8.4　抛出异常　
8.5　捕获异常　
8.6　finally块　
8.7　使用异常的重要性　
8.8　例子　
8.8.1　带异常的ConvertBinaryToDecimal程序　
8.8.2　以更复杂方式编写的Copy程序　
8.8.3　重写WordCount程序　
8.8.4　带异常处理的Stack类型　
8.9　小结　
8.10　复习题　
8.11　练习题　
第9章　使用线程的并发　
9.1　一次做多件事情　
9.2　线程　
9.3　使用线程　
9.4　线程同步　
9.5　线程调度　
9.6　示例程序　
9.6.1　文本时钟　
9.6.2　共享队列　
9.6.3　网络应用程序　
9.7　小结　
9.8　复习题　
9.9　练习题　
第10章　用户界面　
10.1　引言　
10.1.1　可视化组件　
10.1.2　事件和事件驱动系统　
10.1.3　AWT和Swing　
10.2　核心的GUI概念　
10.2.1　例程：HelloGoodbye程序　
10.2.2　创建窗口　
10.2.3　创建Swing GUI组件　
10.2.4　容器和布局管理器　
10.2.5　布局管理器优点　
10.2.6　不同的布局管理器　
10.2.7　窗口显示　
10.2.8　处理事件　
10.2.9　运行和终止HelloGoodbye程序　
10.2.10　HelloGoodbye程序的总结　
10.3　使用GUI作为文本输入　
10.4　实例：一个非常简单的文本编辑器　
10.5　菜单　
10.6　绘图　
10.7　小结　
10.8　复习题　
10.9　练习题　
10.10　挑战题　
第2部分　程序设计过程
第11章　程序设计过程　
11.1　引言　
11.1.1　面向对象的软件工程　
11.1.2　敏捷方法　
11.1.3　设计文档　
11.2　为什么要用面向对象方法　
11.2.1　一个比喻-路线计划　
11.2.2　问题域　
11.2.3　封装　
11.3　开始任务　
11.3.1　概览　
11.3.2　初始问题陈述　
11.3.3　使用故事收集用户需求　
11.3.4　功能需求和用例　
11.3.5　分析　
11.3.6　设计、实现和测试　
11.3.7　交付、部署和维护　
11.3.8　复审和迭代　
11.4　测试策略　
11.4.1　单元测试和功能测试　
11.4.2　验收测试　
11.4.3　调试　
11.5　UML类、对象和序列图　
11.5.1　类图　
11.5.2　包　
11.5.3　对象图　
11.5.4　序列图　
11.5.5　临时表示法　
11.6　实践和经验　
11.7　小结　
11.8　复习题　
11.9　练习题　
11.10　挑战题　
第12章　单元测试　
12.1　引言　
12.1.1　测试是什么　
12.1.2　到底为什么要测试呢　
12.2　单元测试-第一个示例　
12.2.1　类及其测试　
12.2.2　测试是如何运行的　
12.3　单元测试的核心原则　
12.3.1　问题　
12.3.2　此代码不能够进行测试　
12.4　测试驱动的开发　
12.4.1　重构　
12.4.2　重复　
12.4.3　红色/绿色/重构　
12.4.4　按照规范进行测试　
12.5　TestNG框架　
12.5.1　测试循环　
12.5.2　TestNG测试类　
12.5.3　配置方法　
12.5.4　测试方法　
12.5.5　异常　
12.5.6　断言　
12.5.7　testng.xml文件　
12.6　扩展Person类　
12.6.1　重构　
12.6.2　无效日期　
12.6.3　日期验证　
12.6.4　类的状态　
12.6.5　现在在哪里呢　
12.7　小结　
12.8　复习题　
12.9　练习题　
12.10　挑战题　
第13章　测试驱动的程序设计策略　
13.1　引言　
13.2　第一步-搜索文件　
13.2.1　真实文件与模拟文件　
13.2.2　使用真实文件　
13.2.3　到目前为止的回顾过程　
13.2.4　模拟　
13.2.5　完整的FileNameSearch类　
13.3　GUI　
13.3.1　GUI布局　
13.3.2　测试GUI布局　
13.3.3　GUI类　
13.3.4　创建GUI　
13.3.5　选择按钮　
13.3.6　模拟对象　
13.3.7　搜索按钮　
13.4　完整的搜索器　
13.5　小结　
13.6　复习题　
13.7　练习题　
13.8　挑战题　
第14章　编程工具　
14.1　引言　
14.2　项目结构　
14.2.1　src目录　
14.2.2　build目录　
14.2.3　lib目录　
14.2.4　doc和javadoc目录　
14.2.5　reports目录　
14.2.6　deploy目录　
14.2.7　保证文件安全　
14.3　Ant-构建工具　
14.3.1　Ant概述　
14.3.2　项目元素　
14.3.3　属性　
14.3.4　path元素　
14.3.5　clean目标　
14.3.6　init目标　
14.3.7　compile.classes目标　
14.3.8　compile.tests目标　
14.3.9　test目标　
14.3.10　run目标　
14.3.11　javadoc目标　
14.3.12　deploy目标　
14.3.13　all目标　
14.3.14　使用构建文件　
14.4　版本控制　
14.4.1　CVS和Subversion　
14.4.2　Subversion系统信息库　
14.4.3　开始项目　
14.4.4　检验修订版　
14.4.5　更新、登记和冲突　
14.4.6　添加、删除和移动　
14.4.7　修订　
14.4.8　Status和Logs　
14.4.9　diff　394
14.4.10　复制和分支　
14.4.11　进一步研究　
14.5　集成开发环境　
14.5.1　使用IDE　
14.5.2　IDE和项目　
14.5.3　GUI构建器　
14.5.4　调试器　
14.5.5　UML工具　
14.5.6　命令行工具　
14.5.7　项目Web站点　
14.6　小结　
14.7　复习题　
14.8　练习题　
14.9　挑战题　
第3部分　程序开发案例
第15章　案例研究概述　
15.1　引言　
15.2　案例研究　
15.3　案例研究的介绍　
第16章　邮件合并系统　
16.1　引言　
16.2　简要介绍　
16.3　回顾——一些研究　
16.3.1　XML　
16.3.2　DOM和SAX　
16.3.3　JDOM和dom4j　
16.3.4　初始试验　
16.4　数据存储　
16.4.1　初始分析　
16.4.2　初始设计思想　
16.4.3　具体设计　
16.5　GUI设计　
16.5.1　初始需求分析　
16.5.2　GUI的体系结构和设计　
16.6　显示邮件合并列表
16.6.1　鼠标操作　
16.6.2　显示邮件合并细节　
16.7　菜单和操作　
16.8　更多操作　
16.9　练习题　
16.10　挑战题　
第17章　行人交叉路口模拟　
17.1　引言　
17.2　最初的问题定义　
17.3　最初的思考　
17.3.1　交通灯　
17.3.2　车辆指挥灯　
17.3.3　行人指挥灯　
17.4　首轮设计　
17.5　获得GUI　
17.6　GUI设计　
17.7　控制中的问题　
17.8　进一步设计　
17.9　小结　
17.10　练习题　
17.11　挑战题　
第4部分　Java编程语言详述
第18章　Java语言参考　
18.1　引言　
18.2　语法和语义　
18.3　基本描述　
18.4　示例程序　
18.5　小结　
第19章　变量、类型和表达式　
19.1　引言　
19.2　注释　
19.2.1　目的　
19.2.2　概述　
19.2.3　语法　
19.2.4　描述　
19.2.5　例子　
19.3　标识符　
19.3.1　目的　
19.3.2　概述　
19.3.3　描述　
19.3.4　例子　
19.4　Unicode转义符　
19.4.1　目的　
19.4.2　概述　
19.4.3　描述　
19.4.4　例子　
19.5　字面量　
19.5.1　目的　
19.5.2　概述　
19.5.3　描述　
19.5.4　例子　
19.6　类型　
19.6.1　基本类型　
19.6.2　引用类型　
19.6.3　自动类型转换　
19.7　作用域　
19.7.1　目的　
19.7.2　概述　
19.7.3　描述　
19.7.4　例子　
19.8　变量　
19.8.1　变量声明　
19.8.2　变量初始化　
19.8.3　数组变量　
19.9　表达式和运算符　
19.9.1　基本表达式　
19.9.2　运算符　
19.10　源文件　
19.11　小结　
19.12　复习题　
19.13　练习题　
第20章　程序流程控制　
20.1　引言　
20.2　选择　
20.2.1　if语句　
20.2.2　switch语句　
20.3　迭代　
20.3.1　while循环语句　
20.3.2　do循环语句　
20.3.3　for循环语句　
20.3.4　循环行为检验　
20.3.5　foreach循环语句　
20.4　跳转语句　
20.4.1　break语句　
20.4.2　continue语句　
20.4.3　return语句　
20.5　递归　
20.6　小结　
20.7　复习题　
20.8　练习题　
第21章　类和包　
21.1　引言　
21.2　类　
21.2.1　类声明　
21.2.2　public、private和protected　
21.2.3　实例变量　
21.2.4　实例初始化器　
21.2.5　静态变量或类变量　
21.2.6　静态初始化器　
21.2.7　方法　
21.2.8　静态方法或类方法　
21.2.9　构造函数　
21.2.10　关键字this　
21.3　顶层类　
21.3.1　目的　
21.3.2　概述　
21.3.3　语法　
21.3.4　描述　
21.4　嵌套类　
21.4.1　顶层嵌套类　
21.4.2　成员类　
21.4.3　局部类　
21.4.4　匿名类　
21.5　枚举类型　
21.5.1　目的　
21.5.2　概述　
21.5.3　语法　
21.5.4　描述　
21.5.5　例子　
21.6　包　
21.6.1　目的　
21.6.2　概述　
21.6.3　语法　
21.6.4　描述　
21.6.5　例子　
21.7　静态加载　
21.7.1　目的　
21.7.2　概述　
21.7.3　语法　
21.7.4　描述　
21.7.5　例子　
21.8　小结　
21.9　复习题　
21.10　练习题　
第22章　继承和接口　
22.1　引言　
22.2　继承　
22.2.1　继承的概念　
22.2.2　关键字private和protected与继承性　
22.2.3　Final类　
22.2.4　方法覆盖（Overriding）　
22.2.5　Final方法　
22.2.6　方法调用表达式　
22.2.7　修改后的成员类名字查找　
22.2.8　构造函数与继承　
22.2.9　超类（Super）和隐含命名　
22.2.10　抽象（Abstract）类　
22.2.11　抽象（Abstract）方法　
22.2.12　从类对象继承的方法　
22.3　接口　
22.3.1　接口声明　
22.3.2　实现　
22.4　注释（Annotation）　
22.4.1　目的　
22.4.2　概述　
22.4.3　语法　
22.4.4　描述　
22.4.5　例子　
22.5　小结　
22.6　复习题　
22.7　练习题　
第23章　异常处理　
23.1　引言　
23.1.1　异常类　
23.1.2　Try、Catch与Finally　
23.1.3　异常的传递　
23.1.4　抛出（Throws）异常声明　
23.1.5　关键字throw　
23.2　小结　
23.3　复习题　
第24章　线程与并发　
24.1　引言　
24.2　Thread类　
24.2.1　目的　
24.2.2　概述　
24.2.3　语法　
24.2.4　描述　
24.2.5　例子　
24.3　同步方法　
24.3.1　目的　
24.3.2　概述　
24.3.3　语法　
24.3.4　描述　
24.3.5　例子　
24.4　同步语句　
24.4.1　目的　
24.4.2　概述　
24.4.3　语法　
24.4.4　描述　
24.4.5　例子　
24.5　小结　
24.6　复习题　
24.7　练习题　
第5部分　附录
附录A　术语表　
附录B　CRC方法　
B.1　引言　
B.2　基本概念　
B.3　CRC卡片　
B.4　CRC方法过程　
B.5　一些问题　
B.6　文档　
B.7　设计　
附录C　在线文档　
附录D　运行Java程序　
D.1　从这里开始　
D.2　编译和运行Java程序　
D.3　使用Input、FileInput和FileOutput类　
D.4　使用DrawFrame和DrawPanel类　
D.5　使用CLASSPATH　
附录E　Input类　
附录F　FileInput类　
附录G　FileOutput类　
附录H　DrawFrame类　
附录I　DrawPanel类　
附录J　参考文献　
J.1　特性和Java使用　
J.2　单元测试和重构　
J.3　面向对象分析、设计和编程　
J.4　通用程序设计　
J.5　算法和数据结构　
J.6　并发和线程　
J.7　工具　
J.8　人机交互