第一章 Java语言简介 1
1.1 Java语言的背景 1
1.2 Java语言的特点 2
1.3 ava与Internet 4
1.4 Java对软件开发技术的影响和应用前景 6
第二章 Java的基本程序设计结构 8
2.1 一个简单的Java程序 8
2.2 数据类型和变量 9
2.2.1 注释 9
2.2.2 标识符 10
2.2.3 关键字 10
2.2.4 字面常量(Literal) 11
2.2.5 简单类型 13
2.2.6 变量和常量 15
2.2.7 复合类型 16
2.3 运算符 20
2.4 语句 21
2.4.1 声明 21
2.4.2 表达式 21
2.4.3 控制流 22
2.5 实例:分期付款计算器(Mortgage Calculator) 24
2.6 类方法 26
2.7 递归(Recursion) 28
3.1.2 OOP的基本概念 30
3.1.1 OOP的出现 30
第三章 类和对象 30
3.1 面向对象程序设计的基本知识 30
3.1.3 对象 31
3.1.4 类间的关系 32
3.1.5 OOP与传统的面向过程的程序设计的比较 33
3.2 使用已有的类 34
3.2.1 对象变量 34
3.2.2 类Date 36
3.2.3 类Day 37
3.3 创建自己的类 43
3.3.1 类Employee 43
3.3.2 类CardDeck 53
3.4 包(package) 57
3.4.1 包的组织和命名 57
3.4.2 包的使用 58
3.4.3 包的定位 58
3.4.4 包的作用域 59
3.5 类的设计提示 59
第四章 继承(inheritance) 62
4.1 继承 62
4.1.1 类Manager 62
4.1.3 多态性 67
4.1.2 子类的使用 67
4.1.4 final类 68
4.2 强制类型转换(Casting) 69
4.3 抽象类(Abstract Classes) 70
4.4 界面 76
4.4.1 界面的定义 76
4.4.2 实现多个界面 82
4.4.3 扩展界面 83
4.4.4 界面和回调 83
4.5 广义超类(Cosmic Superclass) 85
4.5.1 类Object 85
4.5.2 对象包装类(Object Wrappers) 86
4.5.3 阅读API文档 88
4.6 类Class(运行时的类型识别信息) 90
4.7 protected访问 91
4.8 几个复杂的数据结构 94
4.8.1 链表 94
4.8.2 队列 100
4.8.3 向量(vectors) 100
4.8.4 栈 106
第五章 Java的图形编程 108
5.1 AWT概述 108
5.2.1 输出简单文本 110
5.2 在窗口中输出文本 110
5.2.2 字体和颜色 112
5.3 图形图像的处理 118
5.3.1 图形的绘制和填充 118
5.3.2 绘图模式 122
5.4 图像处理 124
第六章 用户图形界面设计 131
6.1 概述 131
6.2 面板和画布 132
6.3 文本处理 135
6.3.1 文本输入 135
6.3.2 有效性检查 138
6.4 选择的方式 141
6.4.1 检查框 141
6.4.2 检查框组 142
6.4.3 选择框 142
6.4.4 列表 143
6.5 组件的排列方式 146
6.5.1 顺序排列方式 146
6.5.2 分区排列方式 146
6.5.3 卡片排列方式 147
6.5.4 网状排列 148
6.5.5 高级网状排列 151
6.5.7 自定义排列方式 153
6.5.6 任意排列 153
6.6 对话框 157
6.7 数据交换 159
6.7.1 数据交换 159
6.7.2 文件对话框 163
6.8 AWT的事件处理 164
6.8.1 概述 164
6.8.2 键盘事件处理 167
6.8.3 鼠标事件处理 167
6.9 菜单设计 171
6.10 滚动条的实现 172
6.10.1 作为滑动控制组件 173
6.10.2 滚动窗口区域 175
第七章 小应用程序的设计 179
7.1 小应用程序的基本概念 179
7.1.1 小应用程序和HTML 179
7.1.2 一个例子 179
7.1.3 小应用程序的执行方式 180
7.1.4 安全限制 180
7.2 应用程序到小应用程序的转换 181
7.3 HTML中与小应用程序有关的标记及属性 185
7.3.1 与小应用程序有关的标记 185
7.3.2 与小应用程序相关的HTML属性 185
7.4 小应用程序的参数传递 193
7.5 小应用程序中的对话框 194
7.6 多媒体 195
7.6.1 什么是URL 195
7.6.2 获取多媒体文件 196
7.7 小应用程序的执行环境 197
7.7.1 小应用程序的通信 197
7.7.2 利用浏览器显示信息 198
7.7.3 Netscape的框架及其使用 199
7.8 小应用程序的生存期 202
7.8.1 概述 202
7.8.2 一个网络漫游的实例 203
7.9 既是小应用程序又是应用程序的Java程序 208
第八章 异常处理 212
8.1 异常概念 212
8.1.1 异常 212
8.1.2 异常的层次结构 212
8.2 异常的引发 215
8.3 异常的捕捉与处理 215
8.4 异常的传播 217
第九章 输入和输出 220
9.1 文件和标准类型 221
9.1.1 文件 221
9.1.2 标准流 224
9.2 输入输出流 225
9.2.1 打印流 226
9.2.2 文件输入和输出 227
9.2.3 过滤输入输出流 229
9.2.4 有管道的输入流和输出流 234
9.2.5 序列输入流 241
9.2.6 字符串缓冲区输入流 242
9.2.7 字节数组输入输出流 243
9.2.8 随机访问文件流 244
10.1 序言 248
10.2 什么是线程 248
第十章 多线程 248
10.2.1 线程的描述 252
10.2.2 线程的启动和运行 253
10.2.3 多个线程同时运行 256
10.3 线程的特性 257
10.3.1 线程的状态 257
10.3.2 线程状态的检测 259
10.4 线程的优先级 260
10.5 线程间的相互作用 264
10.5.1 线程组 265
10.5.2 线程间的同步 266
10.6.1 计时器 274
10.6 基于线程的程序设计 274
10.6.2 哲学家问题 278
10.6.3 动画 280
第十一章 网络程序设计 287
11.1 引言 287
11.2 利用URL实现网络通信 287
11.2.1 什么是URL 287
11.2.2 从一个URL地址读取资源的内容 287
11.2.3 向一个URL地址写入信息 289
11.2.4 从远程结点检索信息 291
11.3 基于数据报的网络程序设计 296
11.3.2 一个数据报服务程序 297
11.3.1 什么是数据报 297
11.3.3 一个数据报客户程序 302
11.4 基于套接字的网络程序设计 304
11.4.1 基于套接字的网络通信 304
11.4.2 客户程序的实现 305
11.4.3 服务器的实现 307
11.4.4 向服务器发送信息 313
附录1 Unicode标准 321
附录2 错误与异常类 323
附录3 内部定义的方法 325
参考文献 339