第一部分 理论 3
第1章 面向对象特征:封装与继承 3
1.1 封装 5
1.1.1 为什么需要封装 5
1.1.2 现实生活中的封装 5
1.1.3 程序中的封装 6
1.1.4 封装的实现过程 6
1.1.5 访问修饰符 7
1.2 继承 9
1.2.1 为什么需要继承 9
1.2.2 现实生活中的继承 10
1.2.3 程序中的继承 10
1.2.4 继承的实现 11
1.2.5 Object类 14
1.2.6 继承中父子类的引用和对象的指向关系 15
1.2.7 final 16
1.2.8 this和super 16
第2章 多态、抽象类、接口 23
2.1 多态 25
2.1.1 为什么需要多态 25
2.1.2 现实生活中的多态 26
2.1.3 程序中的多态 26
2.2 抽象类 33
2.2.1 为什么需要抽象类 33
2.2.2 什么是抽象类 33
2.2.3 抽象类的定义 34
2.2.4 抽象类的使用时机 34
2.3 接口 36
2.3.1 为什么需要接口 36
2.3.2 现实生活中的接口 37
2.3.3 程序中的接口 37
2.3.4 如何使用接口 37
2.3.5 面向接口编程 40
第3章 异常处理 45
3.1 异常概述 47
3.1.1 为什么需要异常处理 47
3.1.2 什么是异常 47
3.2 异常的分类 48
3.2.1 Error 48
3.2.2 Exception 48
3.3 异常处理 50
3.3.1 try-catch-finally 50
3.3.2 使用throw和throws 53
3.4 自定义异常 56
3.4.1 为什么需要自定义异常 56
3.4.2 如何创建自定义的异常 56
3.5 异常使用细节 56
第4章 log4j、装箱与拆箱、反射 61
4.1 log4j 63
4.1.1 什么是日志 63
4.1.2 log4j介绍 63
4.1.3 使用log4j记录日志 64
4.2 装箱与拆箱 67
4.2.1 基本数据类型与包装数据类型 67
4.2.2 自动装箱 67
4.2.3 自动拆箱 68
4.3 反射 69
4.3.1 什么是反射 69
4.3.2 Class类及其使用 69
4.3.3 反射的应用 70
第5章 集合、泛型 75
5.1 集合框架 77
5.2 List接口 78
5.2.1 List接口定义 78
5.2.2 List接口的常用子类 78
5.3 Set接口 81
5.3.1 Set接口定义 81
5.3.2 Set接口的常用子类 81
5.4 Map接口 83
5.4.1 Map接口定义 83
5.4.2 Map接口的常用子类 83
5.5 泛型 85
5.5.1 泛型概述 87
5.5.2 泛型应用 87
第6章 JDBC操作数据库 93
6.1 JDBC概述 95
6.1.1 JDBC简介 95
6.1.2 JDBC API 95
6.1.3 JDBC驱动分类 96
6.2 使用JDBC操作数据库 97
6.2.1 JDBC操作数据库步骤 97
6.2.2 JDBC连接数据库 98
6.2.3 Statement接口 101
6.2.4 ResultSet接口 102
6.2.5 PreparedStatement接口 103
第7章 JDBC高级应用 111
7.1 可滚动结果集 113
7.1.1 可滚动结果集简介 113
7.1.2 使用可滚动结果集定位记录 115
7.1.3 使用可滚动结果集操作数据 116
7.2 CallableStatement 117
7.2.1 CallableStatement简介 117
7.2.2 使用CallableStatement调用存储过程 118
7.3 JDBC事务 121
7.3.1 为什么进行事务处理 121
7.3.2 什么是事务 122
7.3.3 使用JDBC事务步骤 122
第8章 Java输入/输出 129
8.1 文件操作 131
8.1.1 File类 131
8.1.2 使用RandomAccessFile类读取文件 133
8.2 流 135
8.2.1 字节流 135
8.2.2 字符流 141
第9章 多线程 151
9.1 线程入门 153
9.2 线程实现 153
9.2.1 继承Thread类 153
9.2.2 实现Runnable接口 155
9.2.3 Thread类与Runnable接口的区别 156
9.2.4 线程操作方法 158
9.3 同步与死锁 163
9.3.1 线程安全问题 163
9.3.2 线程同步 164
9.3.3 死锁 166
9.4 线程生命周期概述 168
第10章 Java网络编程 173
10.1 网络编程基础知识 175
10.1.1 IP地址与端口号 175
10.1.2 TCP与UDP 175
10.1.3 Socket简介 176
10.2 TCP网络编程 176
10.2.1 TCP网络编程概述 176
10.2.2 ServerSocket类 177
10.2.3 Socket类 177
10.2.4 TCP服务器程序 178
10.2.5 TCP客户端程序 182
10.3 UDP网络编程 183
10.3.1 DatagramSocket类 183
10.3.2 DatagramPacket类 184
10.3.3 InetAddress类 184
10.3.4 UDP程序设计 185
第二部分 上机 193
上机1 面向对象特征:封装与继承 193
阶段1 使用private封装类的成员 194
阶段2 使用extends关键字建立继承关系 196
上机作业 198
上机2 多态、抽象类、接口 199
阶段1 使用方法重载 200
阶段2 使用方法重写 202
阶段3 使用抽象类 205
上机作业 207
上机3 异常处理 209
阶段1 使用try-catch-finally 210
阶段2 使用自定义异常类 212
上机作业 213
上机4 log4j、装箱与拆箱、反射 215
阶段1 log4j的使用 216
阶段2 反射的使用 217
上机作业 220
上机5 集合、泛型 221
阶段1 使用HashMap 222
阶段2 使用ArrayList 223
上机作业 226
上机6 JDBC操作数据库 227
阶段1 使用JDBC完成数据更新操作 228
阶段2 使用PreparedStatement更新表数据 231
上机作业 233
上机7 JDBC高级应用 235
阶段1 使用可滚动结果集操作数据 236
阶段2 使用CallableStatement调用存储过程 239
上机作业 242
上机8 Java输入输出 245
阶段1 使用File类操作文件 246
阶段2 使用字节流完成文件复制组件 247
上机作业 250
上机9 多线程 251
阶段1 使用Thread类实现多线程 252
阶段2 使用Runnable接口实现多线程 254
上机作业 257
上机10 Java网络编程 259
阶段1 使用TCP完成书籍管理系统 260
阶段2 使用UDP完成双向数据通信 263
上机作业 265
第三部分 指导学习 269
指导学习1 面向对象特征与集合 269
理论部分 270
上机部分 272
阶段1 多态、抽象类与接口 272
阶段2 集合与泛型 273
练习部分 275
指导学习2 JDBC、IO、多线程与网络编程 277
理论部分 278
上机部分 281
阶段1 JDBC高级应用 281
阶段2 Java网络编程 282
练习部分 284
第四部分 在线学习 289
在线学习 JDBC大对象与连接池 289
综合练习 290