第1章 概述 1
1.1计算机程序的平台相关性 1
1.1.1计算机语言与计算机程序 1
1.1.2应用程序的平台相关性与Java 3
1.2 Java的故事 4
1.2.1不成功的Oak 4
1.2.2适逢其时的Java 6
1.3体验Java 7
1.3.1安装Java软件开发工具SDK 7
1.3.2 Java初体验 10
1.3.3 Java再体验 13
1.3.4体验Applet 14
1.4 Java运行环境 17
1.4.1 Java平台结构及功能 17
1.4.2 Java平台的3种实现 18
1.4.3 Java虚拟机 18
1.4.4 java.exe的作用——运行环境的引导与加载 19
1.5习题 19
第2章 Java语言 20
2.1 Java语言基础 20
2.1.1基本数据类型 20
2.1.2运算符 20
2.1.3表达式 21
2.2类与对象 22
2.2.1类及其对象 22
2.2.2对象引用 23
2.2.3构造方法 26
2.2.4方法重载 27
2.2.5类成员 28
2.2.6类的命名及包 29
2.3类及类成员的访问控制 35
2.3.1类的访问控制修饰字public 35
2.3.2字段和方法的访问控制 35
2.4类的继承(扩展) 36
2.4.1子类的声明 36
2.4.2子类的构造方法 37
2.4.3 Object类遗传给子类的常用方法 38
2.5多态 39
2.5.1多态的概念及方法重载 39
2.5.2针对类类型的多态——方法重写 40
2.6接口 43
2.6.1接口的概念及其声明 43
2.6.2接口的实现 44
2.6.3接口的主要作用 45
2.6.4接口的扩展 50
2.7抽象类 52
2.7.1抽象类的概念及其声明 52
2.7.2抽象类的用途 52
2.8内部类和匿名类简介 56
2.8.1非静态内部类 56
2.8.2预定义引用this 58
2.8.3匿名类 59
2.9 Java提供的预定义类 60
2.9.1基本类型包装类 61
2.9.2字符串类及其对象 63
2.9.3异常类 67
2.10数组对象 73
2.10.1一维数组及其定义 73
2.10.2二维数组 74
2.11程序流程控制 76
2.11.1分支控制语句 76
2.11.2循环控制语句 77
2.11.3跳转语句 77
2.12习题 78
第3章 虚拟机中类与对象的组织 80
3.1预备知识 80
3.1.1字节码指令 80
3.1.2 UTF-8字符编码 80
3.2字节码类文件的组织 81
3.2.1类文件总貌 81
3.2.2常量池 82
3.3类文件、Class对象、类对象 84
3.3.1类文件与程序之间的关系 84
3.3.2类文件、类、对象之间的关系 84
3.3.3类的Class对象 86
3.4 Class的常用方法 87
3.4.1获取Class对象的方法 87
3.4.2根据类名创建对象 89
3.5 Java的反射机制 90
3.5.1 Java反射机制的基本概念及其构成 90
3.5.2获取类的方法信息 91
3.6类组织方式对Java语言的影响 93
3.6.1创建String对象方法1 93
3.6.2创建String对象方法2 96
3.6.3常量池String对象的直接使用 98
3.7习题 99
第4章 Java程序结构及设计模式 100
4.1 Java程序设计基础 100
4.1.1 Java程序结构 100
4.1.2 Java程序的设计原则 104
4.2设计模式简介 106
4.2.1模板方法(Template Method)模式 106
4.2.2策略(Strategy)模式 109
4.2.3适配器(Adapter)模式 113
4.2.4单例(Singleton)模式 116
4.2.5工厂(Factory)模式 117
4.2.6桥梁(Bridge)模式及设计模式小结 121
4.3习题 125
第5章 Java I/O流 126
5.1流及流类 126
5.1.1流的概念 126
5.1.2标准流对象 128
5.2 Java I/O概貌 129
5.2.1字节流 130
5.2.2字符流 131
5.2.3其他 132
5.2.4 I/O异常 132
5.3文件I/O 132
5.3.1 File类 132
5.3.2文件输入流FileInputStream及其应用 134
5.3.3 FileOutputStream类及其应用 135
5.3.4字符流的FileReader和File Writer类及其应用 137
5.3.5 RandomAccessFile类及其应用 139
5.3.6对象流ObjectInputStream和ObjectOutputStream的应用 140
5.4字节流采用的设计模式 142
5.4.1原始流及其设计模式 142
5.4.2过滤流及其设计模式 144
5.5原始流与过滤流的配合应用 148
5.5.1过滤流DataInputStream和DataOutputStream 148
5.5.2过滤流BufferedInputStream和BufferedOutputStream 151
5.5.3过滤流PushbackInputStream 152
5.5.4原始流SequenceInputStream的应用 154
5.5.5 过滤流PrintStream的应用 156
5.6字符流的设计模式及应用 157
5.6.1字符流/字节流适配器 158
5.6.2缓冲器流BufferedReader和BufferedWriter 160
5.7习题 161
第6章 Java GUI简介 163
6.1 Java GUI概述 163
6.1.1 AWT 163
6.1.2 Swing 166
6.2 Java GUI基本概念 167
6.2.1简单AWT GUI程序实例 167
6.2.2 Java组件和容器 168
6.2.3布局管理器 170
6.2.4使用容器嵌套实现复杂布局 174
6.3 AWT事件及其处理 175
6.3.1事件的基本概念 176
6.3.2 Java的事件处理机制 176
6.3.3事件分类 182
6.3.4监听器 183
6.3.5 Java事件处理机制中的设计模式 184
6.4 AWT GUI程序综合实例 188
6.4.1简单计算器 188
6.4.2简单记事本 192
6.5 Swing GUI简介 196
6.5.1简单Swing GUI应用程序实例 196
6.5.2 Swing组件 197
6.6习题 199
第7章 Java与图形图像 203
7.1文本的绘制 203
7.1.1显示器屏幕的坐标系 203
7.1.2字体 203
7.1.3颜色控制 206
7.2图形 207
7.2.1基本几何图形的绘制 207
7.2.2 Java2D图形 212
7.3图像 218
7.3.1 Image类 218
7.3.2在应用程序中绘制图像 218
7.4习题 221
第8章 Java集合框架和泛型设计简介 222
8.1集合框架介绍 222
8.1.1什么是集合框架 222
8.1.2接口Collection、List、Set和Map 223
8.2集合框架的主要实现类和泛型初步 224
8.2.1列表ArrayList 224
8.2.2列表LinkedList 229
8.2.3集合HashSet和LinkedHashSet 230
8.2.4排序接口和集合TreeSet 232
8.2.5映射集Map 240
8.2.6集合的迭代器Iterator 241
8.3泛型设计 243
8.3.1再谈泛型的概念 243
8.3.2简单泛型程序设计 244
8.4习题 246
第9章 类装载器与Java动态性 248
9.1类文件就是动态链接库 248
9.2类装载器简介 253
9.2.1类装载器的功能 253
9.2.2类装载器的组织 257
9.3显式动态程序设计 259
9.3.1 Class类的forName()方法 260
9.3.2 ClassLoader类的loadClass()方法 265
9.4习题 266
第10章 Java线程技术基础 267
10.1线程的概念 267
10.2 Java线程 268
10.2.1虚拟机对线程的支持 268
10.2.2 Java线程的状态及其转换 270
10.2.3线程调度及线程优先级 271
10.2.4线程的创建及线程类Thread 273
10.2.5线程的基本控制 279
10.3线程的互斥与同步 283
10.3.1问题的起源 283
10.3.2互斥 285
10.3.3 Java互斥的实现方法 288
10.3.4同步 292
10.4习题 296
第11章 Java组件 297
11.1概述 297
11.1.1软件组件 297
11.1.2 JavaBeans简介 298
11.2 JavaBeans的简单属性 299
11.2.1属性 299
11.2.2单值属性 301
11.2.3索引属性 302
11.3关联属性和限制属性 303
11.3.1属性变化事件 303
11.3.2关联属性 308
11.3.3限制属性 310
11.3.4小结 315
11.4习题 315
第12章 Java小程序——Applet 316
12.1 Java Applet 316
12.1.1小程序的设计思想及Applet类 316
12.1.2小程序的安全性 320
12.1.3小程序的生命期及HTML文件 320
12.2小程序和浏览器的通信 325
12.2.1 HTML文件格式 325
12.2.2通信方法 328
12.3小程序与Swing 330
12.4习题 335
第13章 Java网络应用基础 336
13.1传输控制协议简介 336
13.1.1 TCP协议 336
13.1.2 TCP协议规范 338
13.2 Java的InetAddress类 339
13.3 Sockets应用 343
13.3.1 Socket类及其对象的创建 343
13.3.2 ServerSocket类及其对象的创建 345
13.3.3应用示例 346
13.3.4在Applet中使用Sockets连接 349
13.4用户数据报协议及其应用 353
13.4.1 UDP协议简介 354
13.4.2 UDP协议应用实例 358
13.5统一资源定位符的应用 368
13.5.1统一资源定位符 369
13.5.2使用URL类对象对远程文件进行操作 370
13.6 习题 371
第14章 Java数据库应用基础 372
14.1数据库系统概述 372
14.2 JDBC概述 373
14.2.1 JDBC的类和接口 373
14.2.2用JDBC访问数据库的一般步骤 377
14.2.3 JDBC的实现方式 378
14.3 JDBC的应用 380
14.3.1一个使用JDBC/ODBC桥的应用实例 380
14.3.2一些细节 385
14.4习题 394
参考文献 395