第1部分 Java基础知识 2
第1章 Java简介 2
视频讲解:2小时38分钟 3
1.1 Java概述 3
1.2 JDK的安装与配置 8
1.3 第一个1ava程序:永远的“Hello World!” 12
1.4 第一个程序解释 13
1.5 CLASSPATH 15
1.6 本章小结 17
1.7 实践与练习 17
1.7.1 简答题 17
1.7.2 编程题 17
第2章 Java基础语法 18
视频讲解:2 小时23分钟 19
2.1 注释 19
2.2 标识符和关键字 20
2.3 数据类型 21
2.3.1 整型(byte、short、int、long) 22
2.3.2 浮点型(float、double) 27
2.3.3 字符型(char) 29
2.3.4 布尔型(boolean) 31
2.3.5 字符串(String) 31
2.4 运算符 33
2.4.1 三目运算符 36
2.4.2 逻辑运算符 37
2.4.3 位运算符 39
2.5 程序结构 41
2.5.1 选择(分支)结构 42
2.5.2 循环结构 47
2.6 方法 52
2.6.1 方法的基本定义 52
2.6.2 方法的重载 55
2.6.3 递归调用 56
2.7 习题讲解 57
2.8 本章小结 60
2.9 实践与练习 61
2.9.1 简答题 61
2.9.2 编程题 61
第2部分 面向对象 64
第3章 面向对象 64
视频讲解:2O小时 65
3.1 面向对象简介 65
3.2 类与对象 66
3.2.1 类与对象的基本概念 66
3.2.2 类与对象的定义 67
3.2.3 引用传递的初步深入 72
3.3 封装性初步 74
3.4 构造方法 76
3.5 匿名对象 80
3.6 简单Java类 81
3.7 数组 83
3.7.1 数组的基本概念 83
3.7.2 数组的静态初始化 87
3.7.3 数组与方法 87
3.7.4 数组有关的操作方法 95
3.7.5 二维数组 96
3.7.6 对象数组 97
3.7.7 习题讲解 99
3.8 String类 104
3.8.1 String类的两种对象实例化方式 104
3.8.2 字符串比较 105
3.8.3 字符串常量是String类的匿名对象 107
3.8.4 String类的两种实例化方式的区别 108
3.8.5 字符串的内容一旦声明则不可改变 111
3.9 String类的常用方法 112
3.9.1 字符串与字符 114
3.9.2 字符串与字节 115
3.9.3 字符串比较 116
3.9.4 字符串查找 117
3.9.5 字符串替换操作 119
3.9.6 字符串截取 119
3.9.7 字符串拆分 120
3.9.8 其他方法 121
3.9.9 题讲解 124
3.10 this关键字 125
3.10.1 “this.属性”表示本类属性 125
3.10.2 调用本类方法 127
3.10.3 this表示当前对象 132
3.11 引用传递的三道范例 133
3.12 对象比较 137
3.13 static关键字 139
3.13.1 使用static定义属性 139
3.13.2 使用static定义方法 141
3.13.3 理解主方法 143
3.13.4 static关键字的使用 144
3.14 代码块 146
3.14.1 普通代码块 146
3.14.2 构造块 147
3.14.3 静态块 148
3.15 思考题 149
3.16 内部类 152
3.16.1 内部类的基本概念 152
3.16.2 使用static定义内部类 156
3.16.3 在方法中定义内部类 157
3.17 引用与类抽象的实际作用 158
3.18 核心思考题 162
3.19 单向链表 165
3.19.1 链表的基本概念 165
3.19.2 链表的基本雏形 169
3.19.3 开发可用链表 171
3.19.4 保存多个对象 178
3.20 继承性 182
3.20.1 继承问题的引出 182
3.20.2 继承的实现 183
3.20.3 继承的限制 184
3.21 覆写 188
3.21.1 方法的覆写 188
3.21.2 属性的覆盖 191
3.22 核心思考题 192
3.23 final关键字 196
3.24 构造方法私有化 197
3.25 多例设计模式 200
3.26 多态性 201
3.27 抽象类 206
3.27.1 抽象类的基本概念 206
3.27.2 抽象类的应用——模板设计模式 209
3.28 接口 211
3.28.1 接口的基本概念 211
3.28.2 使用接口定义标准 215
3.28.3 接口的实际作用——工厂设计模式(Factory) 216
3.28.4 接口的实际作用——代理设计模式(Proxy) 218
3.28.5 抽象类和接口的区别 219
3.29 匿名内部类 221
3.30 Obiect类 222
3.30.1 取得对象信息:toString() 223
3.30.2 对象比较:equals() 224
3.30.3 使用Object接收所有的引用数据类型 225
3.31 包装类 226
3.31.1 装箱与拆箱 227
3.31.2 数据转型 229
3.32 思考题 231
3.33 本章小结 237
3.34 实践与练习 239
3.34.1 简答题 239
3.34.2 编程题 239
第4章 异常的捕获及处理 241
视频讲解:1小时13分钟 242
4.1 认识异常 242
4.2 处理异常 242
4.3 异常的处理流程 246
4.4 throws关键字 248
4.5 throw关键字 249
4.6 异常处理的标准格式 250
4.7 RuntimeException 252
4.8 断言:assert 253
4.9 自定义异常类 254
4.10 本章小结 255
4.11 实践与练习 255
4.11.1 简答题 255
4.11.2 编程题 255
第5章 包及访问控制权限 256
视频讲解:53分钟 257
5.1 包的定义及使用 257
5.1.1 包的定义 257
5.1.2 包的导入 258
5.1.3 jar命令 260
5.2 Java的常用包 261
5.3 四种访问权限 262
5.4 命名规范 263
5.5 本章小结 264
5.6 实践与练习 264
5.6.1 判断题 264
5.6.2 简答题 264
第6章 Java新特性 265
视频讲解:1小时56分钟 266
6.1 可变参数 266
6.2 foreach输出 267
6.3 静态导入 268
6.4 JDK 1.5 三大主要新特性——泛型 269
6.4.1 泛型的引出 269
6.4.2 通配符 273
6.4.3 泛型接口 277
6.4.4 泛型方法 279
6.5 JDK 1.5 三大主要新特性——枚举 279
6.5.1 枚举的基本概念 279
6.5.2 枚举的其他定义 282
6.6 JDK 1.5 三大主要特性——Annotation 285
6.7 本章小结 287
6.8 实践与练习 288
6.8.1 简答题 288
6.8.2 编程题 288
第3部分 JAVA SE基础知识 290
第7章 多线程 290
视频讲解:2小时11分钟 291
7.1 进程与线程 291
7.2 多线程的实现 292
7.2.1 继承Thread类实现多线程 292
7.2.2 利用Runnable接口实现多线程 295
7.2.3 Thread类和Runnable接口实现多线程的区别 296
7.2.4 线程的操作状态 300
7.3 线程的主要操作方法 301
7.3.1 线程的命名和取得 301
7.3.2 线程的休眠 303
7.3.3 线程的优先级 303
7.4 线程的同步与死锁 305
7.4.1 同步问题 305
7.4.2 死锁 309
7.5 线程间的经典操作案例 311
7.5.1 解决数据错位问题:依靠同步就可以解决 313
7.5.2 解决数据的重复设置和重复取出 315
7.6 线程的生命周期 317
7.7 本章小结 318
7.8 实践与练习 319
7.8.1 简答题 319
7.8.2 编程题 319
第8章 常用类库 320
视频讲解:4小时22分钟 321
8.1 StringBufffer类 321
8.2 Runtime类 324
8.3 System类 325
8.4 日期操作类 327
8.4.1 日期时间类:java.util.Date 327
8.4.2 日期格式化操作类:SimpleDateFormat 329
8.5 随机数类:Random 330
8.6 数学公式类:Math 330
8.7 大数字操作类 331
8.8 数组操作类:Arrays 333
8.9 比较器 335
8.9.1 常用比较器:Comparable 335
8.9.2 挽救的比较器 336
8.10 对象克隆 338
8.11 正则表达式 339
8.11.1 正则表达式的引出 339
8.11.2 常用正则匹配符号 340
8.11.3 String类对正则的支持 342
8.12 反射机制 348
8.12.1 认识反射 348
8.12.2 反射的深入应用 352
8.13 本章小结 358
8.14 实践与练习 359
8.14.1 简答题 359
8.14.2 编程题 359
第9章 Java IO操作 360
视频讲解:4小时14分钟 361
9.1 文件操作类:File 361
9.2 字节流和字符流 366
9.2.1 字节输出流:OutputStream 366
9.2.2 字节输入流:InputStream 369
9.2.3 字符输出流:Writer 372
9.2.4 字符输入流:Reader 372
9.2.5 字节流和字符流的区别 373
9.2.6 思考题 374
9.3 转换流 376
9.4 内存操作流 378
9.5 字符编码 379
9.6 打印流 381
9.7 System类 386
9.8 缓冲区操作:BufferedReader 389
9.9 Scanner 391
9.10 对象序列化 393
9.10.1 对象序列化的概念 393
9.10.2 实现序列化和反序列化 394
9.10.3 transient关键字 395
9.11 本章小结 395
9.12 实践与练习 396
9.12.1 简答题 396
9.12.2 编程题 396
第10章 网络编程 397
视频讲解:56分钟 398
10.1 网络编程简介 398
10.2 网络程序的基本实现 398
10.3 网络开发的经典模型——ECHO程序 400
10.4 本章小结 402
第11章 类集框架 403
视频讲解:2小时2分钟 404
11.1 认识类集 404
11.2 单值保存的最大父接口:Collection 404
11.3 允许重复的子接口:List 405
11.3.1 新的子类:ArrayList 405
11.3.2 旧的子类:Vector 408
11.4 不允许重复的子接口:Set 409
11.4.1 散列存放的子类:HashSet 410
11.4.2 排序存放的子类:TreeSet 410
11.4.3 关于TreeSet排序的说明 411
11.4.4 关于重复元素的说明 412
11.5 集合的输出操作 414
11.5.1 迭代输出:Iterator 414
11.5.2 双向迭代输出:ListIterator 415
11.5.3 废弃的接口:Enumeration 416
11.5.4 JDK 1.5 的支持:foreach 417
11.6 偶对象保存:Map接口 418
11.6.1 新的子类:HashMap 418
11.6.2 旧的子类:Hashtable 420
11.6.3 关于Map集合的输出问题 421
11.6.4 关于Map 中保存key的说明 424
11.7 Stack类 425
11.8 Collections类 427
11.9 属性操作类:Properties 427
11.10本章小结 430
11.11 实践与练习 430
11.11.1 简答题 430
11.11.2 编程题 431
第12章 Java数据库编程 432
视频讲解:1小时41分钟 433
12.1 JDBC的简介 433
12.2 连接Oracle数据库 434
12.3 使用Statement操作数据库 437
12.3.1 使用Statement接口进行数据表的更新操作 438
12.3.2 使用Statement接口进行查询 440
12.4 预处理:PreparedStatement 442
12.5 批处理及事务处理 449
12.6 本章小结 453
第4部分 设计开发 456
第13章 DAO设计模式 456
视频讲解:2小时45分钟 457
13.1 程序分层 457
13.2 实例分析 458
13.3 准备阶段 458
13.3.1 VO类:负责数据的传输与包装 458
13.3.2 DatabaseConnection类:负责数据库连接 460
13.4 开发数据层 462
13.4.1 定义IEmpDAO接口:数据层开发标准 462
13.4.2 定义IEmpDAO接口的实现类 466
13.4.3 定义DAO工厂类 469
13.5 开发业务层 469
13.5.1 开发业务层标准 470
13.5.2 定义业务层标准的实现类 471
13.5.3 定义Service工厂类 473
13.6 定义测试类 473
13.7 本章小结 475
附录A Eclipse开发工具 476
A.1 Ec1ipse历史 476
A.2 JDT使用 477
A.3 JUNIT测试工具 484
A.4 小结 486