第一篇 Java语言的对象机制 1
第一章 Java概述 3
1.1 引言 3
1.2 变量 4
1.3 代码中的注释 5
1.4 有名常量 5
1.4.1 Unicode字符 6
1.5 控制流 6
1.6 类和对象 7
1.6.1 创建对象 8
1.6.2 静态域或类域 8
1.6.3 废区收集 9
1.7 方法和参数 9
1.7.1 方法的调用 10
1.7.2 this引用 10
1.8 数组 11
1.7.3 静态方法或类方法 11
1.9 字符串对象 12
1.10 类的扩展 13
1.10.1 Object类 14
1.10.2 调用超类中的方法 14
1.11 接口 15
1.12 异常 16
1.13 包 17
1.14 Java的底层结构 18
1.15 其它主题简介 19
1.16 小结 19
练习题 19
第二章 类和对象 21
2.1 一个简单的类 21
2.4 创建对象 22
2.2 域 22
2.3 访问控制和继承 22
2.5 构造器 23
2.6 方法 25
2.6.1 参数值 26
2.6.2 使用方法来控制访问 28
2.7 this引用 28
2.8 方法的名复用(overload) 29
2.9 静态成员 30
2.9.1 静态初始化块 30
2.9.2 静态方法 31
2.10 废区收集和finalize 31
2.10.1 finalize 32
2.10.2 在finalize中使对象 复活 33
2.11 main方法 33
2.13 native方法 34
2.12 toString方法 34
2.14 小结 35
练习题 36
第三章 类的扩展 37
3.1 扩展类之例 37
3.2 protected真正的含义 39
3.3 扩展类中的构造器 40
3.3.1 构造器次序的约定 41
3.4 方法的改写(override)和域的隐藏 42
3.4.1 super关键字 44
3.5 标记方法和类为final 45
3.6 Object类 46
3.7 抽象的类和方法 46
3.8 对象的克隆(clone) 48
3.10 扩展方可使用的类 51
3.9 何时与如何使用扩展类 51
3.11 小结 55
练习题 56
第四章 接口 57
4.1 接口之例 57
4.2 单继承和多继承 58
4.3 扩展接口 59
4.3.1 名的冲突 60
4.4 接口的实现 61
4.5 实现的使用 62
4.6 何时使用接口 63
4.7 小结 63
练习题 64
第二篇 Java语言的表达式和语句 65
5.2 注释 67
5.1 字符集 67
第五章 标记、运算符和表达式 67
5.3 标记 68
5.4 标识符 68
5.4.1 Java的保留字 69
5.5 基本类型 69
5.6 文字 70
5.7 变量说明 71
5.7.1 名字的含义 71
5.8 数组变量 72
5.8.1 数组的数组 73
5.9 初始值 74
5.9.1 数组初始化 74
5.10 运算符的优先级和结合性 75
5.11 运算顺序 76
5.12 表达式类型 76
5.13.2 显式转换和instanceof 77
5.13 类型转换 77
5.13.1 隐式转换 77
5.13.3 字符串转换 79
5.14 成员访问 79
5.15 算术运算符 81
5.15.1 整数运算 81
5.15.2 浮点运算 81
5.15.3 Java浮点运算和IEEE-754 82
5.15.4 字符串连接 83
5.16 递增与递减运算符 83
5.17 关系和条件运算符 84
5.18 按位运算符 85
5.19 条件运算符?: 86
5.20 赋值运算符 86
5.21 包名 87
5.22 小结 87
练习题 88
第六章 控制流 89
6.1 语句和分程序 89
6.2 if-else 89
6.3 switch 91
6.4 while和do-while 92
6.5 for 93
6.6 标号 94
6.7 break 94
6.8 continue 95
6.9 return 95
6.10 为何没有goto语句? 96
6.11 小结 96
练习题 96
第三篇 异常 字符串 线程 97
7.1 创建异常类型 99
第七章 异常 99
7.3 throws子句 100
7.2 throw 100
7.4 try、catch和finally 101
7.4.1 finally 103
7.5 何时使用异常 104
7.6 小结 105
练习题 106
第八章 字符串 107
8.1 基本字符串操作 107
8.2 字符串比较 108
8.3 实用功能 110
8.4 建立相关字符串 111
8.5 字符串转换 112
8.6 字符串和char数组 112
8.7 字符串和byte数组 113
8.8.1 修改缓冲区 114
8.8 StringBuffer类 114
8.8.2 提取数据 115
8.8.3 容量管理 116
8.9 小结 117
练习题 117
第九章 线程 118
9.1 线程的创建 119
9.2 同步 120
9.2.1 同步方法 121
9.2.2 synchronized语句 122
9.3 wait与notify 123
9.4 wait和notify的细节 124
9.5 线程调度 125
9.6 死锁 127
9.9 结束线程的运行 128
9.7 线程的挂起 128
9.8 中断线程 128
9.10 结束应用的执行 130
9.11使用Runnable 131
9.12 volatile(易变性) 132
9.13 线程安全性和线程组(ThreadGroup) 132
9.14 调试线程 135
9.15 小结 136
第四篇 系统级类库 137
第十章 包 139
10.1 包的命名 139
10.2 包的访问 140
10.3 包的内容 140
10.4 小结 141
11.2 InputStream 142
11.1 流 142
第十一章 输入输出包 142
11.3 OutputStream 144
11.4 标准流类型 145
11.5 Filter流 146
11.6 PrintStream 148
11.7 Buffered流 148
11.8 ByteArray流 149
11.9 StringBufferInputStream 149
11.10 File流和文件描述器(FileDescriptor) 150
11.11 Piped流 150
11.12 SequenceInputStream 151
11.13 LineNumberInputStream 152
11.14 PushBackInputstream 152
11.15 StreamTokenizer 153
11.16 Data流 157
11.16.1 Data流类 158
11.17 RandomAccessFile 158
11.18 File类 159
11.19 FilenameFilter 161
11.20 IOException类 161
11.21 小结 162
练习题 162
第十二章 标准设施 164
12.1 BitSet 164
12.2 Enumeration 165
12.3 Enumeration接口的实现 166
12.4 Vector 167
12.5 Stack 170
12.6 Dictionary 170
12.7 Hashtable 171
12.8 Properties 172
12.9 Observer/Observable 173
12.10 Data类 175
12.11 Random类 177
12.12 StringTokenizer 178
12.13 小结 179
练习题 180
第十三章 类型编程 181
13.1 Class 181
13.2 类的加载 184
13.3 包装类概述 187
13.4 Boolean 187
13.5 Character 188
13.6 Number 189
13.8 Long 190
13.7 Integer 190
13.9 Float与Double 191
13.10 小结 192
练习题 192
第十四章 系统程序设计 193
14.1 标准I/O流 193
14.2 内存管理 193
14.3 系统属性 194
14.4 创建进程 195
14.5 Runtime 197
14.6 杂项 199
14.7 安全性 199
14.8 Math 199
14.9 小结 200
练习题 201
输入字符 203
类型 203
附录 Java语言语法规范 203
说明 203
注释 204
关键字 204
标识符 204
文字 205
包 207
类说明 207
接口说明 209
数组初始化代码 209
块 209
语句 209
数组访问 211
方法调用 211
表达式 211