第1部分 面向对象的开发基础 3
第1章 面向对象的系统开发简介 3
1.1面向对象的概念 3
1.1.1类与对象 4
1.1.2消息通信与对象交互 5
1.1.3封装和信息隐藏 5
1.1.4继承和多态 5
1.1.5实例关联 6
1.2面向对象开发方法 6
1.2.1面向对象编程 7
1.2.2面向对象的分析与设计 7
1.2.3面向对象方法的优点 8
1.3软件体系结构及其风格 9
1.3.1软件体系结构的概念 9
1.3.2软件系统的分层结构 9
1.3.3软件体系结构风格 9
1.4软件开发生命周期 11
1.4.1需求获取与分析 12
1.4.2系统设计 13
1.4.3实现 14
1.4.4集成和部署 14
1.4.5运行和维护 15
本章小结 15
习题 15
第2章Java程序的运行与开发环境 16
2.1 Java程序的运行环境 16
2.2 Java开发工具包——JDK 17
2.3 Java程序的编辑、编译及运行 17
2.4集成开发环境简介 19
2.5 Eclipse的体系结构、安装与环境介绍 21
2.5.1 Eclipse的体系结构 21
2.5.2 Eclipse在Windows下的安装 22
2.5.3 Eclipse工作台 23
2.6 Eclipse环境下的项目开发过程 25
2.6.1新建Java项目 25
2.6.2创建Java程序 27
2.6.3代码输入支持功能 30
2.6.4执行Java程序 31
2.6.5 Java实时运算簿页面 35
本章小结 36
习题 37
第3章Java使用初步 38
3.1 Java应用程序的组成元素 38
3.2基本数据类型与表达式 41
3.2.1基本数据类型 41
3.2.2变量与常量 42
3.2.3表达式 43
3.2.4类型转换 46
3.3控制流程语句 47
3.3.1选择结构 48
3.3.2循环结构 49
3.4 Java标准类实例 52
3.4.1 Math类 52
3.4.2 String类 53
3.4.3 System类 55
3.4.4包裹类 57
3.4.5 JOptionPane类 58
3.4.6 Date类和SimpleDateFormat类 60
本章小结 61
习题 62
第4章 自定义类 63
4.1类的声明与使用 63
4.1.1类的声明 63
4.1.2对象的创建与引用 64
4.2属性成员 67
4.2.1属性成员声明 67
4.2.2实例变量与类变量 67
4.3方法成员 69
4.3.1方法成员声明 69
4.3.2实例方法与类方法 70
4.3.3带参数的方法 71
4.3.4构造方法 73
4.4其他常用方法 75
4.4.1 toString()方法 75
4.4.2 equals()方法 76
4.5内部类 78
4.6将类组织成包 78
4.7使用Javadoc命令生成类文档 80
本章小结 82
习题 82
第5章 数组及其应用 84
5.1数组的概念 84
5.2对象数组 87
5.2.1用数组存储对象 87
5.2.2在方法中返回对象 92
5.2.3在方法中返回对象数组 93
5.3二维数组 94
5.4数组的应用 96
5.4.1查找 97
5.4.2增加及删除元素 97
5.4.3排序 98
5.4.4在已排序的数组中查找 99
本章小结 102
习题 102
第2部分 基于UML的系统分析与设计 107
第6章 基于UML的系统分析 107
6.1 UML 107
6.1.1 UML的产生和发展 107
6.1.2 UML的特点 107
6.2 UML建模工具Rational Rose 108
6.2.1 Rose的特点 108
6.2.2 Rose的使用 109
6.2.3 Rose的基本操作 111
6.3实例研究 115
6.3.1校内书店管理系统业务简介 115
6.3.2用例图 115
6.3.3类图 118
6.3.4顺序图 121
本章小结 123
习题 123
第7章 面向对象设计 124
7.1子系统分解 124
7.1.1水平方向的分解 124
7.1.2垂直方向的分解 125
7.2问题域设计 126
7.2.1对分析类图进行调整与细化 126
7.2.2将对象分组归入子系统 128
7.2.3增加控制类 128
7.3界面层设计 129
7.3.1界面设计方法和原则 129
7.3.2校内书店管理系统界面设计方案 130
7.4数据层设计 131
7.4.1数据库设计 131
7.4.2数据访问类设计 134
本章小结 135
习题 135
第3部分 业务逻辑层开发 139
第8章 编写问题域类 139
8.1定义问题域类 139
8.1.1定义Book类 139
8.1.2测试Book类 140
8.1.3编写构造方法 141
8.1.4编写toString ()方法 142
8.1.5定义并测试BookStore类 143
8.2使用静态变量和静态方法 144
8.3编写自定义方法 144
8.4格式化输出 145
8.5重载方法 146
8.6异常及其处理 147
8.6.1异常的概念 147
8.6.2异常处理 149
8.6.3生成异常对象 151
8.6.4在BookStore类中使用异常 151
本章小结 153
习题 153
第9章 继承与多态 155
9.1类的继承 155
9.1.1私有属性和方法的继承 155
9.1.2隐藏和覆盖 156
9.1.3有继承时的构造方法 158
9.2 Object类 159
9.3定义Customer类及其子类 160
9.3.1定义Customer类并测试 160
9.3.2定义Customer类的子类并测试 162
9.4重写超类方法 164
9.4.1添加和重写toString()方法 164
9.4.2重写和调用超类方法 165
9.5塑型与多态 166
9.5.1塑型 166
9.5.2多态 166
本章小结 169
习题 169
第10章 抽象类与终结类 171
10.1抽象类与抽象方法 171
10.1.1抽象类的定义 171
10.1.2抽象方法 172
10.2终结类与终结方法 173
10.2.1终结类 173
10.2.2终结方法 173
10.3定义Lease类及其子类 174
10.3.1定义初始的Lease类 175
10.3.2处理日期 176
10.3.3向Lease类中添加抽象方法 178
10.3.4定义Lease类的子类BookLease 178
10.3.5定义Lease类的子类DailyLease 179
10.3.6测试BookLease类和DailyLease类 180
10.4声明及使用自定义异常 181
10.4.1定义DateInputException类 181
10.4.2抛出自定义异常 181
10.4.3创建多个日租约对象 182
本章小结 183
习题 183
第11章 接口及其应用 184
11.1接口 184
11.1.1接口的概念 184
11.1.2定义接口 185
11.1.3实现接口 186
11.1.4接口与抽象类的区别 187
11.2 Java集合框架 188
11.2.1列表的定义与创建 189
11.2.2列表的标准方法 189
11.2.3 Enumeration类及Iterator类 191
11.2.4泛型及其应用 194
11.3面向接口编程 199
11.3.1面向接口编程的概念 199
11.3.2面向接口编程的优点 201
11.3.3分析抽象Bookshelf的接口IContainable 201
11.3.4使用IContainable接口 205
本章小结 207
习题 207
第12章 实现关联关系 208
12.1查看校内书店管理系统的类图 208
12.2实现Customer类与Book类之间的关联关系 209
12.2.1修改Book类 209
12.2.2修改Customer类 210
12.2.3测试Customer类与Book类的关联关系 211
12.3实现BookStore类与Bookshelf类之间的关联关系 212
12.3.1定义BookStore类 212
12.3.2将Bookshelf类与BookStore类相关联 214
12.3.3测试“书店包含书架”关联关系 215
12.4创建和使用关联类——Lease 216
12.4.1对Lease超类进行修改 216
12.4.2对Customer类进行修改 217
12.4.3测试关联类 219
本章小结 220
习题 220
第4部分 界面层与数据层开发 225
第13章 图形用户界面与事件处理 225
13.1 Java的GUI类简介 225
13.1.1 AWT类简介 226
13.1.2 Swing类简介 227
13.2 Java事件处理 229
13.2.1基本概念 229
13.2.2委托事件处理机制简介 230
13.2.3实现监听器接口的方法 231
13.2.4扩充适配器类 235
13.2.5使用多个GUI组件 235
13.3布局管理器 237
13.3.1 F1owLayout 237
13.3.2 BorderLayout 239
13.3.3 GridLayout 239
13.3.4 GridBagLayout 241
13.3.5 CardLayout 242
13.4 Swing组件的使用 244
13.4.1标签类 245
13.4.2滚动框 247
13.4.3菜单 247
13.4.4工具栏 250
13.4.5按钮类 251
13.4.6组合框 255
13.4.7文本 257
13.4.8二维表 260
本章小结 262
习题 263
第14章 界面层开发 264
14.1编写GUI类查找图书 264
14.2实现图书管理界面 269
14.3在单独窗口中添加新图书 274
14.3.1创建添加新图书的操作界面 274
14.3.2应用单例模式 277
14.4添加顾客 278
本章小结 284
习题 284
第15章 实现多个窗口之间的导航 286
15.1实现系统主界面 286
15.2导航多个窗口 289
15.2.1模仿图书数据库 290
15.2.2从系统主界面导航到图书管理界面 291
15.2.3从图书管理界面导航到图书查询界面 293
15.2.4从图书管理界面导航到图书增加界面 294
15.2.5从图书增加界面返回到图书管理界面 296
15.3实现租书管理子系统 298
15.3.1实现租书管理界面 298
15.3.2实现租书功能 301
15.3.3在租书管理界面中显示顾客信息 307
15.3.4实现还书功能 309
本章小结 311
习题 311
第16章 数据层开发 313
16.1对象持久性简介 313
16.2设计数据存取类 313
16.3问题域类与数据存取类通信 315
16.4使用文件实现持久性 316
16.4.1 Java的输入/输出流 316
16.4.2使用顺序文件实现持久性 317
16.4.3测试BookDA类 320
16.4.4使用随机存取文件实现持久性 321
16.4.5使用对象串行化实现持久性 323
16.5使用数据库实现持久性 324
16.5.1建立ODBC数据源 325
16.5.2结构化查询语言 327
16.5.3 java.sql程序包 328
16.5.4使用数据库实现持久性 329
本章小结 333
习题 333
第5部分Web应用程序的开发 337
第17章Web应用开发基础 337
17.1客户端开发技术 337
17.1.1 HTML简介 337
17.1.2 JavaScript技术 339
17.1.3 Java Applet技术 341
17.2 Tomcat应用服务器的安装与配置 342
17.2.1在Windows上安装Tomcat 343
17.2.2 Tomcat服务器的配置与使用 344
17.3 Servlet技术 347
17.3.1 Servlet的基本结构 347
17.3.2 Servlet的生命周期 348
17.3.3 Servlet的创建、编译及运行 349
17.4 JSP技术 351
17.4.1 JSP的基本运行原理 351
17.4.2 JSP的指令与基本语法 352
17.4.3 JSP的内置对象 354
17.4.4 JSP动作 355
17.4.5 JSP程序的创建及运行 357
17.5本章小结 357
习题 358
第18章Java Web三层应用开发 359
18.1软件架构简介 359
18.1.1 C S和B S软件架构 359
18.1.2基于Java技术的B S架构 359
18.2 Java Web集成开发环境的配置 361
18.2.1配置Eclipse开发环境 361
18.2.2安装Tomcat插件 361
18.3 Web项目的创建与配置 362
18.3.1 hello项目的创建 362
18.3.2编译及运行环境的配置 363
18.3.3新建JSP页面 366
18.3.4运行Web项目 367
18.4基于Web实现图书管理功能 368
18.4.1模型层 368
18.4.2控制层 369
18.4.3表现层 372
18.4.4查看运行结果 374
18.5 Web应用的发布 376
18.6本章小结 376
习题 376
附录A网上顾客查询子系统 378
A.1网上顾客查询子系统简介 378
A.2模型层 379
A.2.1创建实体类 379
A.2.2创建数据访问类 380
A.3控制层 384
A.4表现层 389
A.5运行效果 408
参考文献 412