第1章 初次接触Java 1
1.1 Java语言——网络时代的编程语言 1
1.1.1 网络时代编程问题 1
1.1.2 问题的解决方法 1
1.2 Java语言的特点 2
1.3 Java程序的编译环境和执行环境 4
1.4 第一个Java程序——HelloWorld 4
1.5 Java程序的分类 6
1.6 Java平台 8
小结 9
习题 9
第2章 Java语言基础 10
2.1 数据类型 10
2.1.1 标识符和保留字 10
2.1.2 数据类型概括 11
2.1.3 基本数据类型简介 12
2.1.4 数据类型转换 15
2.1.5 基本数据类型及其对应包装类 16
2.2 表达式 16
2.2.1 算术表达式 17
2.2.2 关系表达式 19
2.2.3 逻辑表达式 20
2.2.4 赋值表达式 21
2.2.5 条件表达式 21
2.2.6 运算符之间的优先级 22
2.3 控制语句 23
2.3.1 分支语句 23
2.3.2 循环语句 25
2.3.3 跳转语句 27
2.4 数组 30
2.4.1 一维数组 30
2.4.2 二维数组 31
小结 35
习题 35
第3章 Java程序工程规范 37
3.1 为什么要有规范 37
3.2 Java程序编程规范 37
3.3 帮助文档的自动生成 37
小结 39
习题 40
第4章 面向对象(上) 41
4.1 什么是抽象 41
4.2 类与对象及其关系 41
4.3 类的域(属性)与方法(操作) 42
4.4 对象 44
4.4.1 对象的产生 44
4.4.2 对象作为参数的特点 46
4.4.3 对象数组 49
4.4.4 数组对象特点及常用方法 49
4.5 构造方法 51
4.5.1 构造方法的概念 51
4.5.2 构造方法的特征 52
4.5.3 构造方法赋值注意事项 53
4.5.4 finalize方法与垃圾回收 53
4.6 类成员属性和方法的非访问修饰符 54
4.6.1 static 54
4.6.2 abstract 57
4.6.3 final 57
4.6.4 native修饰的本地方法 58
4.7 包 58
小结 61
习题 62
第5章 面向对象(中) 63
5.1 面向对象的特征 63
5.2 封装 63
5.2.1 封装的概念 63
5.2.2 访问控制 64
5.2.3 消息 69
5.2.4 封装与组合对于面向对象程序设计的影响 71
5.3 继承 71
5.3.1 继承的概念 71
5.3.2 Object类 74
5.3.3 继承在框架编程中的应用 75
5.3.4 继承的作用 75
5.3.5 最终类 75
5.4 类的多态 75
5.4.1 多态的概念 75
5.4.2 重载 76
5.4.3 覆盖 77
小结 78
习题 79
第6章 面向对象(下) 80
6.1 this与super 80
6.1.1 this的用法 80
6.1.2 Super的使用场合 82
6.2 构造方法的多态与继承 84
6.2.1 构造方法的多态 84
6.2.2 构造方法的继承 85
6.2.3 子类对象实例化过程 86
6.3 抽象类 89
6.3.1 抽象类的概念 89
6.3.2 抽象类产生过程举例 90
6.3.3 抽象类在继承方面的编程应用 91
6.3.4 抽象类在引用具体子类对象方面的应用 92
6.3.5 抽象类设计注意事项 94
6.4 接口 95
6.4.1 接口的含义 95
6.4.2 接口的角色 95
6.4.3 接口实现与使用 96
6.4.4 接口在编程中的作用 98
6.4.5 接口在Java事件处理机制中的应用 99
6.5 抽象类与接口 102
6.6 引用 103
6.6.1 引用要点 103
6.6.2 引用比较 105
6.6.3 引用案例 107
6.7 类的其他相关内容 109
6.7.1 类的完整定义形式 109
6.7.2 内部类 109
6.7.3 匿名内部类 112
6.7.4 匿名对象 115
6.7.5 特殊的类——类对象 115
小结 115
习题 116
第7章 异常 118
7.1 异常的含义 118
7.2 异常分类 118
7.3 异常处理 120
7.4 自定义异常与异常对象的主动产生 126
小结 127
习题 127
第8章 Java常用类库与工具 129
8.1 Java类库概述 129
8.2 String与StringBuffer 131
8.2.1 String 131
8.2.2 StringBuffer 136
8.2.3 StringBuffer与String的相互转化 137
8.3 系统类与时间类 138
8.3.1 System类 138
8.3.2 Runtime类 140
8.3.3 Date类 140
8.3.4 Calendar类 140
8.4 格式化类 140
8.4.1 格式化数字 141
8.4.2 格式化日期 142
小结 142
习题 142
第9章 线程 143
9.1 线程的概念 143
9.1.1 Thread类 143
9.1.2 Runnable接口 145
9.1.3 多线程并发效果 146
9.1.4 两种创建线程方法的比较 147
9.1.5 线程组ThreadGroup 148
9.1.6 volatile修饰符 149
9.2 线程的控制与调度 149
9.2.1 线程的生命周期 149
9.2.2 线程状态的改变 151
9.2.3 线程调度与优先级 152
9.3 线程的同步机制 154
9.3.1 线程安全问题的提出 154
9.3.2 线程同步 155
9.3.3 死锁问题 158
9.4 线程间的同步通信 158
9.4.1 同步通信问题的提出和解决 158
9.4.2 notifyAll() 161
9.5 线程应用场景 163
小结 163
习题 163
第10章 集合类框架 164
10.1 集合类框架的概念 164
10.2 集合类接口 165
10.2.1 Collection接口 165
10.2.2 对集合类遍历的接口 166
10.2.3 Map接口类型 168
10.2.4 集合对象排序接口Comparator 169
10.3 集合类 170
10.3.1 常用集合类比较 172
10.3.2 两个特殊的集合类StringTokenizer与Bitset 173
10.3.3 设置集合类的初始大小 173
10.3.4 Collections类 174
10.4 集合类与集合接口应用 174
小结 181
习题 181
第11章 Applet程序 182
11.1 Applet基本概念 182
11.2 Applet类 182
11.3 Applet标记 185
11.4 Applet的其他功能 186
小结 188
习题 188
第12章 AWT图形用户界面 189
12.1 AWT的基本元素 189
12.1.1 容器 189
12.1.2 组件 193
12.1.3 MenuComponent 198
12.1.4 坐标系 201
12.2 AWT界面的布局管理器 201
12.3 AWT事件模型 209
12.3.1 层次事件模型 209
12.3.2 委托事件模型 209
12.3.3 监听接口实现的四种方式 214
12.3.4 事件对象 218
12.3.5 事件触发原理 219
12.4 AWT图形图像处理 220
12.4.1 概述 220
12.4.2 Graphics对象 221
12.4.3 双缓存技术 225
小结 226
习题 226
第13章 SWing图形用户界面 228
13.1 Swing简介 228
13.2 Swing组件与容器 229
13.2.1 JComponent组件及其子类 229
13.2.2 Swing的主要容器 230
13.2.3 Swing事件处理 232
13.2.4 编写简单的Swing程序 233
小结 236
习题 236
第14章 I/O输入输出 237
14.1 数据流的基本概念 237
14.1.1 流的分类 237
14.1.2 Java的标准输入输出流 239
14.2 字节流与字符流 240
14.2.1 字节流 240
14.2.2 字符流 243
14.2.3 字节流与字符流的相互转化 243
14.3 文件操作 244
14.4 流的装配与串行化 251
小结 255
习题 255
第15章 网络通信 257
15.1 网络编程的基本概念及TCP/IP协议简介 257
15.2 基于URL的高层次Java网络编程 259
15.3 基于Socket套接字的低层次Java网络编程 263
15.4 基于数据报的低层次Java网络编程 271
小结 275
习题 275
第16章 JDBC 276
16.1 JDBC基本概念 276
16.2 使用JDBC存取数据库 279
16.3 不同数据库JDBC连接方法 284
小结 285
习题 286
参考文献 287