图书目录

上篇面向对象技术                 

第1章Java入门

第2章程序设计基础: 变量及其运算

第3章程序设计基础: 流程控制和数组

第4章实验指导1

第5章类、对象和成员

第6章封装

第7章继承和多态

第8章实验指导2

第9章异常处理

第10章Java常用API

第11章Java IO操作

第12章多线程开发

第13章反射技术

第14章实验指导3

下篇UML

第15章UML入门

第16章用例图

第17章类图和对象图

第18章实验指导4

第19章顺序图、协作图、状态图和活动图

第20章包图、构件图和部署图

第21章实验指导5

 

本书提供了全书所有实例的源代码,供读者学习参考使用,所有程序均经过了作者精心的调试。

由于时间仓促和作者水平有限,书中的错误和不妥之处敬请读者批评指正。

有关本书的意见反馈和咨询,读者可在清华大学出版社相关版块中与作者进行交流。

郭克华

2013年11月

目录

上篇面向对象技术

第1章Java入门

1.1认识Java

1.1.1认识编程语言

1.1.2Java的来历

1.1.3Java为什么流行

1.1.4Java的三个版本

1.1.5编程前的准备工作

1.2安装JDK

1.2.1获取JDK

1.2.2安装JDK步骤

1.2.3安装目录介绍

1.2.4环境变量设置

1.3开发第一个Java程序

1.3.1如何编写源代码

1.3.2如何将源代码编译成.class文件

1.3.3如何执行.class文件

1.3.4新手常见错误

1.4用Eclipse开发Java程序

1.4.1Eclipse的概念

1.4.2安装Eclipse

1.4.3如何建立项目

1.4.4如何开发Java程序

1.4.5如何维护项目

1.5小结

第2章程序设计基础:变量及其运算

2.1认识变量

2.1.1变量的定义

2.1.2变量有哪些类型

2.2如何使用变量

2.2.1如何使用整型变量

2.2.2如何使用浮点型变量

2.2.3如何使用字符型变量

2.2.4如何使用布尔型变量

2.2.5基本数据类型之间的类型转换

2.2.6基本数据类型和字符串之间的转换

2.2.7变量的作用范围

2.3注释的书写

2.4Java中的运算

2.4.1算术运算

2.4.2赋值运算

2.4.3关系运算

2.4.4逻辑运算

2.4.5运算符的优先级

2.5小结

第3章程序设计基础:流程控制和数组

3.1判断结构

3.1.1为什么需要判断结构

3.1.2if结构

3.1.3switch结构

3.2认识循环结构

3.2.1为什么需要循环结构

3.2.2while循环

3.2.3dowhile循环

3.2.4for循环

3.2.5循环嵌套

3.2.6break和continue

3.3数组

3.3.1为什么需要数组

3.3.2如何定义数组

3.3.3如何使用数组

3.3.4数组的引用性质

3.3.5数组的应用

3.3.6多维数组

3.4小结

第4章实验指导1

4.1关于变量和数据类型的实践

4.2流程控制和数组的综合实践

第5章类、对象和成员

5.1认识类和对象

5.1.1为什么需要类

5.1.2如何定义类

5.1.3如何使用类实例化对象

5.1.4如何访问对象中的成员变量

5.1.5对象的引用性质

5.2认识成员函数

5.2.1为什么需要函数

5.2.2如何定义和使用成员函数

5.2.3函数参数的传递

5.2.4认识函数重载

5.3认识构造函数

5.3.1为什么需要构造函数

5.3.2如何定义和使用构造函数

5.4静态变量和静态函数

5.4.1为什么需要静态变量

5.4.2静态变量的常见应用

5.4.3认识静态函数

5.4.4静态代码块

5.5小结

第6章封装

6.1使用封装

6.1.1为什么需要封装

6.1.2如何实现封装

6.2使用包

6.2.1为什么需要包

6.2.2如何将类放在包中

6.2.3如何访问包中的类

6.3使用访问控制修饰符

6.3.1什么是访问控制修饰符

6.3.2类的访问控制修饰符

6.3.3成员的访问控制修饰符

6.4使用类中类

6.5小结

第7章继承和多态

7.1使用继承

7.1.1为什么需要继承

7.1.2如何实现继承

7.1.3继承的底层本质

7.2成员的覆盖

7.2.1什么是成员覆盖

7.2.2成员覆盖有何作用

7.3使用多态性

7.3.1什么是多态

7.3.2如何使用多态性

7.3.3父子类对象的类型转换

7.4抽象类和接口

7.4.1为什么需要抽象类

7.4.2为什么需要接口

7.5其他内容

7.5.1final关键字

7.5.2Object类

7.6一些工具的使用

7.6.1将字节码打包发布

7.6.2文档的使用

7.7小结

第8章实验指导2

8.1单例模式的设计

8.1.1需求简介

8.1.2不用单例模式的效果

8.1.3最原始的单例模式

8.1.4首次改进

8.1.5再次改进

8.1.6思考题

8.2利用继承和多态扩充程序功能

8.2.1需求简介

8.2.2实现方法

8.2.3出现的问题

8.2.4改进

8.2.5测试

第9章异常处理

9.1认识异常

9.1.1生活中的异常

9.1.2软件中的异常

9.1.3为什么要处理异常

9.1.4异常机理

9.1.5常见异常

9.2异常的就地捕获

9.2.1为什么要就地捕获

9.2.2如何就地捕获异常

9.2.3如何捕获多种异常

9.2.4用finally保证安全性

9.3异常的向前抛出

9.3.1为什么要向前抛出

9.3.2如何向前抛出

9.4自定义异常

9.4.1为什么需要自定义异常

9.4.2如何自定义异常

9.5小结

第10章Java常用API

10.1数值运算

10.1.1用Math类实现数值运算

10.1.2实现随机数

10.2用String类进行字符串处理

10.3用StringBuffer类进行字符串处理

10.4基本数据类型的包装类

10.4.1认识包装类

10.4.2通过包装类进行数据转换

10.5认识Java集合

10.5.1为什么需要集合

10.5.2Java中的集合

10.6使用一维集合

10.6.1认识一维集合

10.6.2使用List集合

10.6.3使用Set集合

10.6.4使用Collections类对集合进行处理

10.6.5使用泛型简化集合操作

10.7Java中的二维集合

10.7.1使用Map集合

10.7.2使用Hashtable和Properties

10.8小结

第11章Java IO操作

11.1认识IO操作

11.2用File类操作文件

11.2.1认识File类

11.2.2使用File类操作文件

11.2.3使用File类操作目录

11.3字节流的输入输出

11.3.1认识字节流

11.3.2如何读写文件

11.3.3如何读写对象

11.4字符流的输入输出

11.4.1认识字符流

11.4.2如何读写文件

11.4.3如何进行键盘输入

11.5和IO操作相关的其他类

11.5.1用RandomAccessFile类进行文件读写

11.5.2使用Properties类

11.6小结

第12章多线程开发

12.1认识多线程

12.1.1为什么需要多线程

12.1.2继承Thread类开发多线程

12.1.3实现Runnable接口开发多线程

12.1.4两种方法有何区别

12.2控制线程运行

12.2.1为什么要控制线程运行

12.2.2传统方法的安全问题

12.2.3如何控制线程的运行

12.3线程同步安全

12.3.1什么是线程同步

12.3.2一个有问题的案例

12.3.3如何解决

12.3.4小心线程死锁

12.4认识定时器

12.4.1为什么需要定时器

12.4.2如何使用定时器

12.5小结

第13章反射技术

13.1为什么要学习反射

13.1.1引入配置文件

13.1.2配置文件遇到的问题

13.2认识Class类

13.2.1什么是Class类

13.2.2如何获取一个类对应的Class对象

13.2.3如何获取类中的成员信息

13.3通过反射机制访问对象

13.3.1如何实例化对象

13.3.2如何给成员变量赋值

13.3.3如何调用成员函数

13.4何时使用反射

13.5动态异常处理框架

13.5.1框架功能简介

13.5.2重要技术

13.5.3框架代码编写

13.5.4使用该框架

13.6小结

第14章实验指导3

14.1字符频率统计软件

14.1.1软件功能简介

14.1.2重要技术

14.1.3项目结构

14.1.4代码编写

14.1.5思考题

14.2文本翻译软件

14.2.1软件功能简介

14.2.2重要技术

14.2.3项目结构

14.2.4代码编写

14.2.5思考题

14.3用享元模式优化程序性能

14.3.1为什么需要享元模式

14.3.2重要技术

14.3.3代码编写

14.3.4思考题

下篇UML

第15章UML入门

15.1认识UML

15.1.1为什么需要UML

15.1.2UML的来历

15.2用Rational  Rose进行UML建模

15.2.1什么是Rational Rose

15.2.2安装Rational Rose

15.2.3如何使用Rational Rose

15.2.4UML图的种类

15.3小结

第16章用例图

16.1认识用例图

16.1.1为什么需要用例图

16.1.2什么是用例图

16.2详解用例图

16.2.1系统边界

16.2.2参与者

16.2.3用例

16.2.4箭头

16.2.5注释

16.2.6用Rational Rose画用例图

16.2.7用例规约

16.3一个案例

16.3.1案例描述

16.3.2画出用例图

16.3.3写出用例描述

16.4小结

第17章类图和对象图

17.1认识类图

17.1.1为什么需要类图

17.1.2什么是类图

17.2详解类图

17.2.1类

17.2.2箭头

17.2.3注释

17.2.4用Rational Rose画类图

17.3对象图

17.4小结

第18章实验指导4

18.1用例图练习

18.1.1软件功能简介

18.1.2识别系统中的参与者和用例

18.1.3画出用例图

18.1.4用例描述

18.2类图练习

18.2.1练习1: 根据代码画出类图

18.2.2练习2: 根据需求构建类图

18.3思考题

第19章顺序图、协作图、状态图和活动图

19.1顺序图

19.1.1什么是顺序图

19.1.2详解顺序图

19.1.3用Rational Rose画顺序图

19.2协作图

19.2.1什么是协作图

19.2.2详解协作图

19.2.3用Rational Rose画协作图

19.3状态图

19.3.1什么是状态图

19.3.2详解状态图

19.3.3用Rational Rose画状态图

19.4活动图

19.4.1什么是活动图

19.4.2详解活动图

19.4.3用Rational Rose画活动图

19.5小结

第20章包图、构件图和部署图

20.1包图

20.1.1什么是包图

20.1.2详解包图

20.1.3用Rational Rose画包图

20.2构件图

20.2.1什么是构件图

20.2.2详解构件图

20.2.3用Rational Rose画构件图

20.3部署图

20.3.1什么是部署图

20.3.2详解部署图

20.3.3用Rational Rose画部署图

20.4小结

第21章实验指导5

21.1顺序图、协作图练习

21.1.1功能简介

21.1.2创建顺序图

21.1.3创建协作图

21.2状态图、活动图练习

21.2.1功能简介

21.2.2创建状态图

21.2.3创建活动图

21.3包图、构件图和部署图练习