第1章 面向对象程序设计思想 1
1.1 类和对象 1
1.2 面向对象程序设计的三大特征 3
1.2.1 封装 4
1.2.2 继承 4
1.2.3 多态 5
1.3 面向对象的程序设计 7
1.3.1 类的建模 7
1.3.2 类的层次结构设计 8
1.3.3 面向对象程序设计原则 9
1.4 Java语言简介 10
1.4.1 Java语言的特点 12
1.4.2 Java程序的开发环境 13
1.4.3 第一个Java程序 14
本章小结 19
习题 19
第2章 Java语言基础知识 21
2.1 Java语言基本元素 21
2.2 Java基本数据类型 22
2.3 引用数据类型 26
2.3.1 枚举 26
2.3.2 数组 27
2.4 基本数据类型的封装类 34
2.5 运算符及表达式 37
2.5.1 算术运算符 37
2.5.2 关系运算符 39
2.5.3 逻辑运算符与逻辑表达式 39
2.5.4 赋值运算符 40
2.5.5 位运算符 40
2.5.6 其他运算符 41
2.5.7 表达式 42
2.6 Java控制语句 42
2.6.1 分支结构 42
2.6.2 循环结构 44
2.6.3 中断结构 46
本章小结 49
习题 49
第3章 类与对象 51
3.1 类与对象的创建 51
3.2 对象的初始化 54
3.3 数据成员及方法 56
3.3.1 访问数据成员及方法 56
3.3.2 方法中参数传递的问题 57
3.3.3 toString()方法 58
3.4 类的使用 60
3.4.1 static数据 60
3.4.2 static方法 62
3.4.3 终态final 63
3.4.4 方法重载 63
3.4.5 this指针 64
3.4.6 对象的回收 67
3.4.7 包 68
3.4.8 类的访问控制 71
3.5 Java基础类库 73
3.5.1 语言包java.lang 74
3.5.2 实用包java.util 81
3.6 Java注释 83
3.6.1 Annotation的定义 84
3.6.2 基本Annotation 85
3.6.3 Annotation的用途 85
3.6.4 Java文档生成器 86
本章小结 89
习题 89
第4章 异常处理 91
4.1 异常的概念 91
4.2 异常的分类 92
4.3 异常的处理机制 94
4.3.1 非检查型异常处理 94
4.3.2 检查型异常处理 96
4.4 自定义异常类 101
本章小结 104
习题 105
第5章 类的重用 106
5.1 类的重用概述 106
5.2 重用方式之一——继承 107
5.2.1 父类与子类 107
5.2.2 继承的语法 107
5.2.3 子类的数据成员 110
5.2.4 子类的方法 111
5.2.5 继承关系下的构造方法 114
5.3 抽象类与抽象方法 117
5.4 重用方式之二——类的组合 121
5.4.1 组合的语法 121
5.4.2 组合与继承的结合 123
本章小结 126
习题 127
第6章 接口与多态 128
6.1 接口的概念及用途 128
6.2 接口的声明及实现 129
6.3 接口与抽象类的比较 140
6.4 多态 144
6.4.1 向上转型的概念及方法调用 145
6.4.2 静态绑定和动态绑定 145
6.4.3 多态的实现 147
6.4.4 多态的应用 148
6.5 内部类 149
6.5.1 内部类的概念 150
6.5.2 静态内部类 151
6.5.3 内部类实现接口及抽象类 151
6.5.4 方法中的内部类 152
6.5.5 匿名的内部类 153
本章小结 154
习题 154
第7章 Java集合框架 156
7.1 集合框架概述 156
7.2 Collection接口 158
7.3 List接口 158
7.3.1 LinkedList 159
7.3.2 ArrayList 159
7.4 泛型 160
7.4.1 泛型的定义及实例化 160
7.4.2 泛型在集合中的应用 162
7.5 迭代器 165
7.6 Set接口 167
7.7 Map接口 169
7.8 Collections类 172
7.9 比较器 173
7.10 Lambda表达式 175
本章小结 177
习题 177
第8章 输入/输出 178
8.1 I/O流的概念 178
8.2 I/O流的种类 179
8.2.1 字节流 179
8.2.2 字符流 180
8.2.3 标准输入/输出数据流 182
8.3 文件输入/输出流 185
8.3.1 字符输出流 185
8.3.2 字符输入流 187
8.3.3 字节输出流 188
8.3.4 字节输入流 190
8.3.5 File类 193
8.3.6 随机文件的读写 195
8.4 对象序列化 197
本章小结 200
习题 200
第9章 JDBC 201
9.1 JDBC简介 201
9.2 JDBC架构 201
9.3 JDBC API 202
9.4 在eclipse环境下通过JDBC访问数据库 204
9.4.1 配置开发环境 204
9.4.2 调用JDBC API编写应用程序 205
9.5 JDBC处理存储过程 216
9.6 SQLException 218
9.7 控制事务 218
9.8 JDBC其他相关用法 219
本章小结 220
习题 220
第10章 Java图形用户界面 221
10.1 Java图形用户界面类库 221
10.2 Swing的组件 222
10.3 Swing组件的层次结构 223
10.4 Swing GUI程序 224
10.4.1 顶层容器 225
10.4.2 中间层容器 226
10.4.3 布局管理器 228
10.4.4 Swing组件 231
10.5 事件处理机制 236
10.5.1 事件响应 236
10.5.2 事件处理的实现方法 239
10.6 Swing Designer可视化图形界面编程 244
本章小结 256
习题 256
第11章 多线程 257
11.1 进程与线程 257
11.2 多线程创建方式 258
11.2.1 Thread类 258
11.2.2 Runnable接口 260
11.3 守护线程 261
11.4 线程的生命周期 262
11.5 线程的常用方法 264
11.6 线程的优先级 268
11.7 多线程的编程方式 268
11.7.1 不相关的线程 269
11.7.2 相关但无须同步的线程 269
11.7.3 同步线程 270
11.7.4 交互式线程 274
11.8 死锁 278
11.9 高级并发 279
11.9.1 Lock和Condition 280
11.9.2 读写锁 282
11.9.3 阻塞队列(BlockingQueue) 284
11.9.4 线程池 287
本章小结 289
习题 290
第12章 Java Socket网络编程 291
12.1 网络通信协议 291
12.2 Socket基本概念 293
12.3 TCP Socket编程 294
12.3.1 TCP Socket点到点通信 294
12.3.2 TCP Socket多线程通信 299
12.4 UDP Socket编程 302
12.4.1 UDP Socket点到点通信 302
12.4.2 UDP Socket多线程通信 307
12.4.3 UDP Socket组播通信 308
本章小结 310
习题 310
第13章 Java非阻塞IO (NIO) 312
13.1 Java NIO与标准IO的区别 312
13.2 NIO的核心对象 312
13.2.1 通道 313
13.2.2 缓冲区 317
13.2.3 选择器 319
13.3 NIO Socket通信单线程模式 321
13.4 基于反应器的NIO Socket多线程模式 324
本章小结 325
习题 325
第14章 Android图形用户界面开发简介 326
14.1 Android概述 326
14.2 Android系统架构 327
14.3 Android应用程序组件 328
14.4 Android的图形界面元素 329
14.4.1 视图和视图组 329
14.4.2 布局管理 331
14.4.3 事件驱动 331
14.5 eclipse下的Android开发环境配置 332
14.6 Android图形用户界面开发示例 335
14.6.1 Android应用程序目录结构 335
14.6.2 创建按钮示例 336
14.7 常用的Android控件 338
本章小结 350
习题 351
参考文献 352