第1章 初次接触Java 1
1.1 Java语言——网络时代的编程语言 1
1.1.1 网络时代编程问题 1
1.1.2 问题的解决方法 1
1.2 Java语言的特点 2
1.3 Java程序的编译环境和执行环境 4
1.4 第一个Java程序——Hello World 4
1.5 Java程序的分类 6
1.6 Java平台 8
小结 8
习题 9
第2章 Java语言基础 10
2.1 数据类型 10
2.1.1 标识符和保留字 10
2.1.2 数据类型概括 10
2.1.3 基本数据类型简介 12
2.1.4 数据类型转换 14
2.1.5 基本数据类型及其对应的包装类 15
2.2 表达式 16
2.2.1 算术表达式 16
2.2.2 关系表达式 18
2.2.3 逻辑表达式 19
2.2.4 赋值表达式 20
2.2.5 条件表达式 21
2.2.6 运算符优先级 21
2.3 控制语句 22
2.3.1 分支语句 22
2.3.2 循环语句 24
2.3.3 跳转语句 26
2.4 数组 28
2.4.1 一维数组 28
2.4.2 二维数组 30
小结 33
习题 33
第3章 Java程序工程规范 35
3.1 为什么要有规范 35
3.2 Java程序编程规范 35
3.3 帮助文档的自动生成 35
小结 37
习题 37
第4章 面向对象(上) 38
4.1 抽象的含义 38
4.2 类与对象 38
4.3 类的域(属性)与方法(操作) 39
4.4 对象 41
4.4.1 对象的创建 41
4.4.2 对象作为参数的特点 43
4.4.3 对象数组 45
4.4.4 数组对象特点及常用方法 45
4.5 构造方法 47
4.5.1 构造方法的概念 47
4.5.2 构造方法的特征 47
4.5.3 构造方法赋值的注意事项 48
4.5.4 finalize方法与垃圾回收 49
4.6 类成员属性和方法的非访问修饰符 50
4.6.1 static 50
4.6.2 abstract 53
4.6.3 final 53
4.6.4 native修饰的本地方法 53
4.7 包 53
小结 57
习题 57
第5章 面向对象(中) 59
5.1 面向对象的特征 59
5.2 封装 59
5.2.1 封装的概念 59
5.2.2 访问控制权限 60
5.2.3 消息 64
5.2.4 封装与组合的设计用途 66
5.3 继承 66
5.3.1 继承的概念 66
5.3.2 Object类 69
5.3.3 最终类 70
5.3.4 继承的设计用途 70
5.4 类的多态 70
5.4.1 多态的概念 70
5.4.2 重载 70
5.4.3 覆盖 71
5.4.4 多态的设计用途 73
小结 73
习题 73
第6章 面向对象(下) 74
6.1 this与super 74
6.1.1 this的用法 74
6.1.2 super的用法 75
6.2 构造方法的多态 77
6.2.1 构造方法的重载 77
6.2.2 构造方法的继承调用 78
6.2.3 子类对象实例化过程 79
6.3 抽象类 82
6.3.1 抽象类的概念 82
6.3.2 抽象类的设计用途 82
6.4 接口 87
6.4.1 接口的含义 87
6.4.2 接口的作用 88
6.4.3 接口实现与使用 88
6.4.4 接口的设计用途 90
6.4.5 接口在Java事件处理机制中的应用 90
6.5 抽象类与接口比较 94
6.6 引用 94
6.6.1 引用要点 94
6.6.2 引用比较 96
6.6.3 引用案例 98
6.7 类的其他相关内容 100
6.7.1 类的完整定义形式 100
6.7.2 内部类 100
6.7.3 匿名内部类 103
6.7.4 匿名对象 105
6.7.5 特殊的类——类对象 105
小结 105
习题 106
第7章 异常 108
7.1 异常的含义 108
7.2 异常分类 108
7.3 异常处理 110
7.4 自定义异常与异常对象的创建 115
小结 116
习题 116
第8章 Java常用类库与工具 119
8.1 Java类库概述 119
8.2 String与StringBuffer 121
8.2.11 String 121
8.2.2 StringBuffer 125
8.2.3 StringBuffer与String的相互转化 126
8.3 系统类与时间类 127
8.3.1 System类 127
8.3.2 Runtime类 129
8.3.3 Date类 129
8.3.4 Calendar类 129
8.4 格式化类 130
8.4.1 格式化数字 130
8.4.2 格式化日期 131
小结 131
习题 131
第9章 线程 133
9.1 线程的概念 133
9.1.1 Thread类 133
9.1.2 Runnable接口 134
9.1.3 多线程并发效果 135
9.1.4 创建线程的两种方法比较 136
9.1.5 线程组ThreadGroup 137
9.1.6 volatile修饰符 138
9.2 线程的控制与调度 138
9.2.1 线程的生命周期 138
9.2.2 线程状态的改变 139
9.2.3 线程调度与优先级 141
9.3 线程的同步机制 142
9.3.1 线程安全问题的提出 142
9.3.2 线程同步 143
9.3.3 死锁问题 145
9.4 线程间的同步通信 146
9.4.1 同步通信问题的提出和解决 146
9.4.2 notifyAll() 148
9.5 线程应用场景 150
小结 150
习题 150
第10章 集合类 151
10.1 集合类的概念 151
10.2 集合类接口 152
10.2.1 Collection接口 152
10.2.2 遍历接口 153
10.2.3 Map接口类型 155
10.2.4 排序接口Comparator 156
10.3 常用集合类 157
10.3.1 常用集合类比较 158
10.3.2 特殊集合类StringTokenizer与Bitset 159
10.3.3 集合类初始容量设置 160
10.3.4 Collections类 160
10.3.5 枚举类 161
10.4 集合类与集合接口应用 161
小结 167
习题 167
第11章 Applet程序 168
11.1 Applet基本概念 168
11.2 Applet类 168
11.3 Applet标记 170
11.4 Applet其他功能 171
小结 173
习题 173
第12章 AWT图形用户界面 174
12.1 AWT基本元素 174
12.1.1 容器 174
12.1.2 组件 177
12.1.3 MenuComponent 182
12.2 组件在容器中位置的确定 184
12.2.1 容器坐标系方式确定组件位置 184
12.2.2 布局管理器方式确定组件位置 185
12.3 AWT事件模型 191
12.3.1 层次事件模型 191
12.3.2 委托事件模型 191
12.3.3 监听接口实现的四种方式 196
12.3.4 事件对象 199
12.3.5 事件触发原理 200
12.4 AWT图形图像处理 201
12.4.1 概述 201
12.4.2 Graphics对象 202
12.4.3 双缓存技术 205
小结 206
习题 206
第13章 Swing图形用户界面 208
13.1 Swing简介 208
13.2 Swing组件与容器 209
13.2.1 JComponent组件及其子类 209
13.2.2 Swing容器 210
13.2.3 Swing事件处理 211
13.2.4 Swing程序案例 213
小结 216
习题 216
第14章 I/O输入/输出 217
14.1 数据流的基本概念 217
14.1.1 流的分类 217
14.1.2 Java标准输入/输出流 218
14.2 字节流与字符流 219
14.2.1 字节流 219
14.2.2 字符流 222
14.2.3 字节流与字符流的相互转化 223
14.3 文件操作 223
14.4 流的装配与串行化 230
小结 234
习题 234
第15章 Java网络通信 235
15.1 网络编程基本概念 235
15.1.1 网络通信协议 235
15.1.2 网络应用定位 236
15.1.3 TCP和UDP比较 236
15.2 基于URL的高层次Java网络编程 237
15.3 基于Socket套接字的低层次Java网络编程 241
15.3.1 Socket通信的基本概念 241
15.3.2 Socket通信结构 242
15.3.3 Socket通信案例 244
15.4 基于数据报的低层次Java网络编程 248
15.4.1 数据报通信的基本概念 248
15.4.2 数据报通信对象 249
15.4.3 数据报通信案例 250
小结 251
习题 252
第16章 JDBC 253
16.1 JDBC基本概念 253
16.2 使用JDBC操作数据库 255
16.3 不同数据库JDBC的连接方法 260
小结 261
习题 261
第17章 UML简介 263
17.1 UML的含义 263
17.1.1 UML“统一”的含义 263
17.1.2 UML“建模”的含义 264
17.1.3 UML“语言”的含义 264
17.1.4 UML特点 265
17.1.5 UML建模工具 265
17.2 UML视图(View) 271
17.3 UML图 271
17.3.1 UML图的基本概念 271
17.3.2 图的类型 272
17.3.3 UML视图与图 272
17.3.4 UML图的演化逻辑关系 273
17.4 用例图 274
17.5 类图及对象图 276
17.5.1 类模型元素 276
17.5.2 对象模型元素 277
17.5.3 泛化 277
17.5.4 关联 278
17.5.5 关联类型 280
17.5.6 四种特殊的关联 282
17.5.7 关联与链接 283
17.5.8 接口及其实现表示 283
17.5.9 依赖关系 284
17.6 顺序图 285
17.7 协作图 286
17.8 活动图 288
17.9 状态图 289
17.10 构件图 289
17.11 部署图 290
17.12 案例1 仓库管理系统 291
17.12.1 需求说明 291
17.12.2 需求1~3的设计 291
17.12.3 需求4的设计 293
17.12.4 需求5的设计 295
17.12.5 案例小结 296
17.13 案例2 图形编辑器 296
17.13.1 需求说明 296
17.13.2 概要设计 298
17.13.3 图形编辑器代码实现 311
小结 324
习题 325
第18章 设计模式 326
18.1 概念 326
18.2 GoF模式简介 326
18.3 模式原则 328
18.3.1 开闭原则 328
18.3.2 组合/聚合复用原则 330
18.3.3 强(高)内聚弱(松)耦合原则 331
18.4 创建型设计模式 332
18.4.1 抽象工厂 332
18.4.2 生成器 333
18.4.3 工厂方法 335
18.4.4 原型 335
18.4.5 单件 336
18.5 结构型设计模式 336
18.5.1 适配器 337
18.5.2 桥接 338
18.5.3 组成 339
18.5.4 装饰模式 339
18.5.5 外观 340
18.5.6 享元 341
18.5.7 代理 342
18.6 行为型设计模式 342
18.6.1 职责链 343
18.6.2 命令 343
18.6.3 解释器 344
18.6.4 迭代器 345
18.6.5 中介者 346
18.6.6 备忘录 347
18.6.7 观察者 347
18.6.8 状态 349
18.6.9 策略 350
18.6.10 模板方法 350
18.6.11 访问者 351
小结 352
习题 353
第19章 软件框架 354
19.1 基本概念 354
19.1.1 软件框架定义 354
19.1.2 软件框架与设计模式比较 355
19.1.3 Java应用框架 355
19.1.4 软件框架与应用的控制关系 356
19.2 Struts1框架 356
19.2.1 MVC结构 356
19.2.2 Struts1结构 357
19.2.3 Struts1应用案例 359
19.2.4 Struts1评价 366
19.3 Struts2框架 367
19.3.1 Struts2框架结构 367
19.3.2 Struts2与Struts1的对比 369
19.3.3 Struts2案例 371
小结 376
习题 376
第20章 软件体系结构与分布式对象技术 377
20.1 软件体系结构 377
20.1.1 概述 377
20.1.2 客户/服务器结构 377
20.1.3 浏览器/服务器结构 378
20.1.4 客户端类型 378
20.2 分布式软件系统 381
20.2.1 概述 381
20.2.2 中间件 382
20.2.3 消息中间件 383
20.3 分布式对象技术 388
20.3.1 概述 388
20.3.2 CORBA 388
20.3.3 Microsoft的COM+ 391
20.3.4 Java的分布式对象技术 392
20.4 RMI 392
20.4.1 概述 392
20.4.2 RMI通信方式 393
20.4.3 RMI通信架构 394
20.4.4 RMI案例 395
20.5 JNDI 400
20.5.1 概述 400
20.5.2 命名服务 400
20.5.3 目录服务 400
20.5.4 JNDI的构成 401
20.5.5 JNDI案例 403
20.6 Web Service 407
20.6.1 概述 407
20.6.2 Web Service结构层次 408
20.6.3 WSDL信息结构 409
20.6.4 SOAP信息结构 411
20.6.5 Web Service的通信方式 411
20.6.6 UDDI 412
20.6.7 Web Service服务器端部署 413
20.6.8 Web Service案例 414
小结 419
习题 419
参考文献 420