书籍详情

Java面向对象程序设计

Java面向对象程序设计

作者:(美)Paul S.Wang著;杜一民,赵小燕译;杜一民译

出版社:清华大学出版社

出版时间:2003-07-01

ISBN:9787302067450

定价:¥56.00

购买这本书可以去
内容简介
  本书综合介绍了Java语言编程技术和面向对象程序设计两部分内容.在讲授Internet上最流行的编程语言Java的同时,还介绍了它所采用的面向对象技术的基础理论、主要原则和思维方法。本书内容翔实全面,涵盖了从基本概念到高级主题(联网、多线程和反射等)等内容,并介绍了面向对象设计的实用知识。书中给出大量经过调试运行良好的实例,便于初学者入门,同时有助于提高读者解决实际问题的能力。本书适合用作:·高等院校本科生或研究生教材·Java初学者的自学用书·C/C++程序员转向Java的学习资料
作者简介
暂缺《Java面向对象程序设计》作者简介
目录
第1章 类和对象 1
1.1 Java程序结构 1
1.2 第一个程序 2
1.3 定义方法 3
1.4 数据类型和变量声明 4
1.4.1 数据类型char 5
1.4.2 整型 5
1.4.3 浮点型 5
1.4.4 变量和标识符 6
1.5 数据抽象和封装 6
1.6 类和对象 7
1.6.1 信息隐藏和成员访问控制 8
1.6.2 创建对象 9
1.6.3 构造函数 10
1.6.4 成员访问符号 10
1.6.5 方法 11
1.7 字符串基础知识 11
1.7.1 字符串连接 12
1.7.2 对象的字符串表示 12
1.8 数组 13
1.9 方法调用和参数传递 15
1.10 标准I/O 16
1.11 命令行参数和main方法 16
1.12 使用对象解决问题 18
1.12.1 简单的Vector2D类 18
1.12.2 空构造函数 20
1.12.3 其他的Vector2D方法 20
1.13 对象解决方案 21
1.14 面向对象要考虑的因素 23
1.15 代码结构 24
1.16 编程技巧 24
1.17 小结 25
1.18 练习 26
1.18.1 复习问题 26
1.18.2 编程任务 27
第2章 Java的特性和构造 29
2.1 ASCII字符的I/O 29
2.2 文件I/O 30
2.3 基本错误和异常处理 31
2.3.1 显示错误消息 31
2.3.2 简单的异常处理 31
2.3.3 ASCII文本文件I/O和错误处理示例 32
2.4 Fraction类 34
2.4.1 主机对象引用:this 36
2.4.2 测试Fraction类 37
2.5 标识符作用域 37
2.6 实例成员和类范围成员 39
2.7 符号常量 41
2.8 使用数组:Quicksort 42
2.9 String和StringBuffer 44
2.9.1 字符串令牌 45
2.9.2 字符串缓冲区 46
2.10 二维数组 46
2.11 Matrix类 47
2.12 类型转换 49
2.13 隐式类型转换 49
2.13.1 方法调用转换 50
2.13.2 赋值转换 50
2.13.3 算术转换 50
2.13.4 字符串转换 50
2.14 显式类型转换 50
2.15 编程技巧 51
2.16 小结 52
2.17 练习 52
2.17.1 复习问题 52
2.17.2 编程任务 53
第3章 基于对象编程 55
3.1 定期保险账户 55
3.2 定期保险费计算器 57
3.3 Java包装类 58
3.4 字符运算 59
3.5 URL解码器 60
3.6 环状缓冲区 61
3.7 小型计算器仿真程序 65
3.8 链接表 72
3.8.1 表单元 73
3.8.2 链接表的设计 73
3.9 重载方法 77
3.10 分配和管理存储空间 78
3.10.1 使用运算符new分配对象存储空间 78
3.10.2 无用单元收集 78
3.10.3 finalize方法 79
3.11 小结 79
3.12 练习 80
3.12.1 复习问题 80
3.12.2 编程任务 80
第4章 继承性和类扩充 82
4.1 继承性的优势 82
4.2 有关类扩充的基本知识 83
4.3 类作用域嵌套 85
4.4 扩充对象的合成 85
4.5 免费支票存款账户 86
4.6 类扩充下的访问控制 89
4.7 类扩充的原则 90
4.8 子类构造函数 90
4.9 finalize子类 91
4.10 继承的类型关系 92
4.11 扩充的字段访问 93
4.12 隐藏字段和静态方法 93
4.13 子类下的方法访问 94
4.14 方法重写 94
4.15 重写方法的动态调用 95
4.16 示例:数字包装类 96
4.17 子类中的方法重载 97
4.18 具有开方功能的计算器 98
4.19 Object类和通用代码 99
4.19.1 Object方法 100
4.19.2 通用哈希表 100
4.19.3 通用数组 101
4.20 管理文本行 101
4.21 编写通用程序 103
4.22 通用列表 103
4.23 通用堆栈 106
4.24 小结 107
4.25 练习 108
4.25.1 复习问题 108
4.25.2 编程任务 109
第5章 OOP技术:接口和多态性 110
5.1 使用插件兼容对象编程 110
5.1.1 兼容类型和多态性 111
5.1.2 插件兼容性的要素 112
5.2 使用插件兼容的组件 112
5.3 规划统一的公共接口 114
5.4 定义接口 115
5.5 实现接口 116
5.6 使用接口的原因 117
5.7 扩充接口 118
5.8 抽象超类 118
5.9 抽象顺序 119
5.9.1 实现通用操作 120
5.9.2 子类:ArraySequence 122
5.10 日期序列 123
5.11 对文本行排序 125
5.11.1 对键进行比较 126
5.11.2 文本行的ArraySequence 127
5.12 接口和抽象类的比较 128
5.13 复制对象 129
5.13.1 使用Object.clone进行复制 129
5.13.2 重写Object.clone 130
5.13.3 复制数组 131
5.14 继承的规划 132
5.15 小结 133
5.16 练习 133
5.16.1 复习问题 133
5.16.2 编程任务 134
第6章 程序包和核心类 135
6.1 程序包 135
6.1.1 从程序包导入 136
6.1.2 程序包访问控制 136
6.1.3 程序包命名约定 137
6.1.4 管理程序包 137
6.2 Java提供的程序包 138
6.3 访问Java文档 138
6.4 输入和输出 139
6.4.1 I/O流的层次结构 139
6.4.2 Java I/O模型 141
6.5 文件I/O 141
6.6 缓冲式I/O 142
6.7 Print Writer 143
6.8 定期账户文件 143
6.9 文件更新 145
6.10 其他的I/O流 147
6.10.1 内存中的I/O 147
6.10.2 其他的I/O 148
6.11 文本和Unicode字符的I/O 148
6.12 非字符I/O 149
6.13 对象I/O 151
6.14 数字和日期格式化 152
6.15 错误和异常处理 154
6.15.1 捕获异常 154
6.15.2 异常类型 156
6.15.3 指定异常 156
6.15.4 捕获原则或指定原则 157
6.15.5 抛出异常 157
6.15.6 异常中的消息 157
6.15.7 创建自定义异常 157
6.16 带有异常的矩阵示例 159
6.17 基于字符的标准I/O和错误报告 160
6.18 数学计算 161
6.19 日期和日历 162
6.20 系统和环境属性 163
6.21 小结 166
6.22 练习 167
6.22.1 复习问题 167
6.22.2 编程任务 167
第7章 applet和事件驱动编程 169
7.1 关于网络 169
7.2 WEB 170
7.2.1 超文本 171
7.2.2 URL 171
7.3 Web页面和HTML 172
7.4 applet 173
7.4.1 applet标记 174
7.4.2 applet与普通应用程序的比较 175
7.5 第一个applet 175
7.6 测试和部署applet 177
7.7 applet的浏览器控制 178
7.8 GUI编程基础 181
7.9 事件处理 181
7.9.1 委托模型 182
7.9.2 事件类型和表示法 183
7.9.3 事件侦听器 184
7.9.4 事件源 185
7.9.5 编写侦听器和适配器 186
7.9.6 事件处理总结 187
7.10 Tic Tac Toe 187
7.10.1 Swing applet TicApplet 188
7.10.2 TicTacToe面板 189
7.10.3 ClickHandler类 191
7.10.4 TicBoard类 192
7.10.5 TicGame类 193
7.10.6 TicTacToe的HTML文件 197
7.10.7 示例总结 197
7.11 音响效果 198
7.12 内部类 200
7.12.1 内部类示例 200
7.12.2 匿名事件处理程序 202
7.13 applet参数 202
7.13.1 用户定义的applet参数 203
7.13.2 JAR和archive属性 203
7.14 applet安全限制条件 204
7.15 小结 205
7.16 练习 206
7.16.1 复习问题 206
7.16.2 编程任务 206
第8章 GUI程序 208
8.1 GUI编程概述 208
8.2 构件的有关概念 209
8.3 Swing基础 209
8.4 Swing构件概述 211
8.5 Swing构件 212
8.5.1 顶级容器 212
8.5.2 中级容器 212
8.5.3 简单的GUI 213
8.6 原子构件 216
8.6.1 单选按钮组 218
8.6.2 构件的字体 219
8.7 文本输入构件 220
8.8 绘制自定义图形 223
8.8.1 参数化的饼分图 224
8.8.2 PiePlot类 224
8.8.3 ColLabel类 226
8.8.4 PieChart类 226
8.9 绘图支持 228
8.9.1 构件着色 228
8.9.2 自定义着色 228
8.9.3 显示图像 230
8.10 改进的饼分图 231
8.10.1 PieSec类 232
8.10.2 PieSelect类 233
8.11 布局管理 234
8.11.1 手动布局 235
8.11.2 自动布局 235
8.11.3 计算布局 236
8.11.4 两个构件之间的间隔 236
8.12 使用对话框 237
8.12.1 带有错误对话框的保险费计算器 237
8.12.2 通用对话框 239
8.13 使用菜单 240
8.14 事件处理注释 244
8.15 applet双重目的程序 245
8.16 小结 247
8.17 练习 247
8.17.1 复习问题 247
8.17.2 编程任务 248
第9章 通用容器 250
9.1 表 251
9.1.1 应用ArrayList 252
9.1.2 使用ArrayStack 253
9.1.3 其他表 254
9.2 映射 255
9.2.1 HashMap 255
9.2.2 示例:URL解码 256
9.2.3 TreeMap 259
9.3 迭代器 259
9.4 集合 262
9.5 集合框架接口层次结构 262
9.6 框架迭代器 264
9.7 功能元件 265
9.8 容器的一般算法 266
9.9 同步容器 269
9.10 只读容器 270
9.11 容器兼容性 270
9.12 定义自定义容器 271
9.13 小结 272
9.14 练习 272
9.14.1 复习问题 272
9.14.2 编程任务 273
第10章 联网 274
10.1 通过URL联网 274
10.2 创建和使用URL 27510.3 读取URL 276
10.4 通过URL进行通信 278
10.5 HTTP基础 279
10.6 URL下载程序 280
10.7 POST查询 283
10.8 查询体编码 284
10.9 POST查询客户 285
10.10 特定的URL客户程序 287
10.11 applet联网 289
10.12 CGI脚本 290
10.13 Web服务器端编程 291
10.14 使用套接字进行网络通信 293
10.15 流套接字客户程序 294
10.16 数据报套接字 298
10.17 创建网络服务器 298
10.18 流套接字服务器示例 299
10.18.1 安装服务器 301
10.18.2 文件服务器客户程序 301
10.19 远程方法调用 303
10.19.1 远程对象 303
10.19.2 Java RMI的体系结构 303
10.19.3 通过RMI实现的阶乘服务器程序 304
10.19.4 部署客户和服务器 307
10.19.5 构建RMI应用程序 309
10.19.6 RMI中的参数传递 309
10.20 小结 309
10.21 练习 310
10.21.1 复习问题 310
10.21.2 编程任务 311
第11章 线程和并发编程 312
11.1 线程的定义 312
11.1.1 多线程的优点 312
11.1.2 挑战多线程 313
11.1.3 互斥 313
11.1.4 同步 314
11.1.5 线程调度 31411.1.6 死锁 314
11.2 Java中的线程 314
11.3 线程编程 315
11.4 启动线程 315
11.5 线程控制 316
11.6 Java线程的互斥 317
11.6.1 同步方法 320
11.6.2 同步语句 320
11.7 协调线程 322
11.8 消费者和生产者 322
11.8.1 具有互斥功能的环状缓冲区 323
11.8.2 生产者线程 325
11.8.3 消费者线程 325
11.8.4 执行单词计数的多线程 326
11.9 两个线程间的输入输出 327
11.10 线程优先级 328
11.11 终止线程执行 328
11.12 可运行的类 329
11.13 多线程GUI应用程序 329
11.13.1 60分钟计时器 330
11.13.2 TimerFace类 331
11.13.3 Quartz类 331
11.13.4 TimerControls类 332
11.13.5 Timer60面板 334
11.14 带有图像的计时器 337
11.14.1 ImageFace类 338
11.14.2 ImageTimer类 339
11.15 分离图像加载和图像绘制 340
11.16 动画 341
11.17 AnimatorPanel 342
11.18 Animator applet应用程序 345
11.19 图像管理器 346
11.20 小结 349
11.21 练习 349
11.21.1 复习问题 349
11.21.2 编程任务 350第12章 高级主题 351
12.1 反射 351
12.1.1 作为对象的类 351
12.1.2 检查方法 355
12.1.3 调用已检查的方法 355
12.2 动态加载类 358
12.2.1 加载远程类:示例 358
12.2.2 加载和运行远程类 360
12.3 Java运行时 361
12.4 在Java中运行其他程序 361
12.5 Java本机接口 363
12.6 JNI示例:基础知识 363
12.6.1 第1步:编写Java代码 363
12.6.2 第2步:生成头文件 364
12.6.3 第3步:实现本机代码 365
12.6.4 创建共享库 365
12.7 JNI示例:参数传递 367
12.8 JNI示例:字符串 368
12.9 JNI示例:数组 370
12.10 生成HTML格式的Java文档 371
12.10.1 javadoc生成的文件 374
12.10.2 doclet 374
12.11 剪贴板 375
12.11.1 Java中的数据传输支持 375
12.11.2 从剪贴板中粘贴 375
12.11.3 复制到剪贴板 377
12.12 applet之间的通信 378
12.13 Java安全管理器 380
12.13.1 安全检查 380
12.13.2 编写安全管理器 381
12.13.3 安全策略文件 381
12.14 已签名的applet和动态信任管理 383
12.14.1 接受已签名的applet 383
12.14.2 创建已签名的applet 384
12.15 小结 384
12.16 练习 385
12.16.1 复习问题 385
12.16.2 编程任务 386
第13章 面向对象设计 387
13.1 分解方法 387
13.1.1 过程上的分解 388
13.1.2 数据分解 388
13.1.3 面向对象的分解 388
13.2 面向对象的设计原则 389
13.2.1 标识类和对象 389
13.2.2 对象的外部行为 389
13.2.3 设计对象 390
13.2.4 对象和类之间的关系 390
13.2.5 实现 390
13.3 设计模式 390
13.4 统一建模语言 391
13.5 CRC方法 392
13.6 小型计算器仿真程序 393
13.6.1 CRC设计 394
13.6.2 基本的计算器 394
13.6.3 内存和科学引擎 394
13.6.4 窗口计算器 395
13.6.5 实现方式 395
13.6.6 WinCalculator类 396
13.6.7 WinFace类 397
13.6.8 CalcWindow类 399
13.6.9 Keypad类 400
13.6.10 Lcd类 402
13.7 MVC设计模式 403
13.8 Swing构件体系结构和MVC 404
13.8.1 JList的MVC结构 405
13.8.2 午餐菜单:MVC示例 405
13.9 小结 408
13.10 练习 408
13.10.1 复习问题 408
13.10.2 编程任务 409
附录A Java工具 410
A.1 SDK 410
A.2 使用Java编译器 411
A.3 Java IDE 413
附录B Java关键字、运算符和程序包 414
B.1 关键字 414
B.2 运算符的优先顺序 414
B.3 SDK程序包 415
B.3.1 标准程序包 415
B.3.2 标准扩充程序包 415
B.3.3 其他程序包 416
附录C 普通的Java构造 417
C.1 main方法 417
C.2 简单类 417
C.3 方法 417
C.4 for语句 417
C.5 if语句 418
C.6 switch语句 418
C.7 label语句 418
C.8 do-while语句 418
C.9 成员访问 418
C.10 字符串连接 419
C.11 异常处理 419
C.12 显式地强制转换类型 419
C.13 类扩充 419
C.14 定义和实现接口 420
C.15 匿名类 420
C.16 applet 420
C.17 GUI应用程序main 421
C.18 读写文本 421
C.19 重写equals 421
附录D Java和ANSI C/C++之间的主要区别 422
D.1 Java不支持的特性 422
D.2 C/C++中不具备的特性 422
D.3 以不同方式实现的特性 423
附录E 布局管理器和Swing构件 425
E.1 布局管理器 425
E.1.1 BorderLayout 425
E.1.2 FlowLayout 426
E.1.3 GridLayout 426
E.1.4 GridBagLayout 427
E.1.5 BoxLayout 429
E.1.6 CardLayout 429
E.2 Swing构件 430
附录F JFC中的颜色 431
附录G Java I/O类 433
G.1 输入流 433
G.2 输出流 433
G.3 随机存取文件 434
G.4 阅读器和写入器 434
附录H 数学计算 435
H.1 Math类 435
H.1.1 浮点方法 435
H.1.2 浮点常量 435
H.1.3 三角函数 435
H.1.4 java.math程序包 436
附录I Java调试器:jdb 437
I.1 启动和退出jdb 437
I.2 jdb如何帮助调试 438
I.3 调试步骤 438
I.4 简单的调试会话 438
I.5 命令 440
附录J 类的索引 441
附录K 基本背景 445
K.1 语句 445
K.2 while语句 445
K.3 完整的factorial程序 447
K.4 简单的条件语句 448
K.4.1 for语句 449
K.4.2 递增和递减运算符 450
K.4.3 do-while语句 452
K.4.4 多路的if语句 452
K.5 运算符和表达式 453
K.5.1 算术表达式 455
K.5.2 关系表达式和逻辑表达式 456
K.5.3 赋值表达式 456
K.5.4 位运算 457
K.6 迭代控制 457
K.7 多选择 460
猜您喜欢

读书导航