第一部分 对象入门 1
第1章 Java基础知识 1
为什么选择使用Java语言 2
Java语言的基础知识 10
掌握Java程序设计技巧 27
小结 28
练习 28
第2章 抽象和建模 29
通过抽象实现简化 29
通过抽象实现概括 30
抽象的重用 33
固有的挑战 34
小结 36
练习 36
第3章 对象和类 38
什么是对象 38
数据/状态/属性 39
行为/操作/方法 39
类 40
实例化 42
封装 43
对象与数据库记录 44
作为抽象数据类型的类 45
实例化对象:更进一步地了解对象 46
作为属性的对象 49
复合类 50
面向对象程序设计语言的三个显著特征 52
小结 52
练习 53
事件驱动的对象协作 54
第4章 对象的交互 54
方法签署 55
消息传递和点表示法 59
通过点表示法访问属性 60
委派 61
访问对象 61
对象客户和对象服务/代理 63
信息隐藏/可视性 65
存取方法和修改方法 68
公用/私用规则的特例 70
封装的再研究 73
通过类自身的方法来访问属性 76
构造器 78
小结 79
练习 80
第5章 对象间的关系 81
关联和链接 81
导出类的规则之一——要做的事情 96
导出类的规则之二——不能做的事情 99
关于多重继承 101
面向对象语言三个显著特征中的两个 104
练习 105
小结 105
第6章 对象集合 108
什么是集合 108
创建自己的集合类型 116
方法返回类型的集合 120
超类型集合 121
再谈复合类 122
小结 124
练习 124
什么是多态性 125
第7章 一些最终概念 125
面向对象程序设计语言的三个突出特性 131
抽象类 131
接口 136
静态属性 139
小结 145
练习 145
第二部分 对象建模 147
第8章 核心对象建模过程 147
对象建模的总目标 147
内部核心的对象建模过程 150
小结 152
练习 152
第9章 通过使用案例说明需求 153
什么是使用案例 153
演员 155
描述使用案例 157
使用案例与演员匹配 158
使用框图还是不使用框图 159
小结 160
练习 160
标识适当的类 161
第10章 对系统的静态和数据特性建模 161
产生数据字典 171
确定类之间的关联 171
标识属性 174
UML标记:对提炼的静态特性建模 174
反映多值性 181
沿关联“管道”的信息“流” 187
“混合与匹配”关系标记 190
关联类 192
“完整的”学生注册系统的类框图 195
元数据 199
比较UML与OMT标记 200
小结 201
练习 202
第11章 对系统的动态和行为特性建模 203
行为如何影响状态 203
事件 205
想定 207
序列框图 210
使用序列框图确定方法 214
协同框图 216
经过修改的SRS类框图 217
小结 218
练习 218
第12章 包装建模成果 220
测试模型 220
模型中的缺点 220
重用模型:有关设计模式的讨论 222
小结 224
练习 224
第13章 深入了解Java 225
第三部分 将对象“蓝图”转换为Java代码 225
设置Java程序设计环境 226
Java程序剖析 226
剖析一个Java类 233
字符串对象 239
Java表达式的再考虑 242
屏幕打印的再考虑 243
数组的再考虑 244
Java例外处理 248
从命令行中读取数据 250
接收键盘输入 251
使用构造器 253
用于对象自引用的“this”关键词 258
对象删除与垃圾收集 260
继承与Java 262
Java的集合类 270
Vector类 270
抽象类与接口的再讨论 281
对象标识 283
toString()方法 290
内部类 291
小结 293
练习 294
第14章 将模型转换为Java代码 296
充分利用本章和后面各章的建议 296
SRS类框图的再考虑 297
调试技巧 340
小结 341
练习 342
第15章 形成自己的应用系统(第一部分):添加文件持久性 343
什么是文件持久性 344
CollectionWrapper(封装集合,从ASCII文件中读取数据) 351
练习 382
小结 382
第16章 完成应用(第二部分):添加图形用户界面 384
Java GUI入门 384
Java事件处理 428
从JList选择一个项 444
其他容器类型:JDialog和JOptionPane 450
JOptionPane的一步对话 455
SRS第3幕:添加GUI 458
小结 500
练习 500
雅克学好Java的 可靠”方法 501
第17章 下一步 501
推荐读物 502
敬请指正 503
第四部分 附录 505
附录A 关于将本书作为教科书的建议 505
附录B 选择的案例研究 507
附录C 建立基本对象建模和Java环境 510
附录D SRS源代码 518
附录E 对有经验的C++程序员的提示 520
附录F 多态性的“幕后”工作原理(静态捆绑与动态捆绑) 524
附录G 技术支持 528