第1章 面向对象程序设计概述 1
1.1 面向对象与面向过程程序设计 1
1.2 类与对象 2
1.3 封装与信息隐藏 3
1.4 继承 3
1.5 多态性 4
1.6 面向对象的建模和UML 4
1.7 小结 5
习题 5
第2章 Java概述和入门程序 6
2.1 Java历史及发展 6
2.2 Java语言特点 6
2.3 Java类库 8
2.4 Java开发环境 9
2.4.1 JDK下载、安装与使用 9
2.4.2 Java集成开发环境 10
2.5 Java程序类型及简单例子 10
2.5.1 应用程序 11
2.5.2 小应用程序 17
2.5.3 servlet 20
2.5.4 bean 20
2.6 小结 21
习题 21
第3章 Java程序设计基础 22
3.1 Java程序的组成 22
3.2 基本数据类型、常量与变量 24
3.2.1 基本数据类型 24
3.2.2 常量 25
3.2.3 变量 26
3.2.4 符号常量 27
3.3 运算符与表达式 29
3.3.1 算术运算符与算术表达式 29
3.3.2 赋值运算符与赋值表达式 31
3.3.3 关系运算符与关系表达式 31
3.3.4 逻辑运算符与逻辑表达式 33
3.3.5 位运算符 34
3.3.6 其他运算符 37
3.3.7 运算符的优先级与结合性 37
3.3.8 混合运算时数据类型的转换 38
3.3.9 语句和块 39
3.4 算法的基本控制结构 40
3.4.1 分支语句 40
3.4.2 循环语句 46
3.5 方法 53
3.5.1 方法的声明 53
3.5.2 方法的调用 54
3.5.3 方法的参数传递 56
3.5.4 方法的重载 56
3.5.5 嵌套与递归 57
3.5.6 变量声明的作用域 58
3.6 数组 59
3.6.1 一维数组 59
3.6.2 多维数组 63
3.7 小结 64
习题 65
第4章 类和对象 67
4.1 面向对象程序设计的思想 67
4.1.1 OOP思想 67
4.1.2 用类实现抽象数据类型:时钟类 67
4.1.3 类成员:域、方法和构造方法 70
4.2 类的作用域 71
4.3 成员访问控制 72
4.4 初始化类的对象:构造方法 74
4.5 this 76
4.6 使用set和get方法 78
4.7 垃圾收集 79
4.8 static方法和域 80
4.9 类的组合 82
4.10 包的创建和访问 84
4.10.1 包的创建 85
4.10.2 包的使用 85
4.11 小结 87
习题 87
第5章 类的继承和派生 90
5.1 继承的概念和软件的重用性 90
5.2 派生类的定义 91
5.3 作用域和继承 92
5.4 方法的重新定义 92
5.5 继承下的构造方法和finalize方法 95
5.6 超类和子类的关系 98
5.7 继承的程序设计举例 102
5.8 小结 105
习题 105
第6章 多态性 107
6.1 多态性概念 107
6.2 继承层次结构中对象间的关系 107
6.3 抽象类和抽象方法 109
6.3.1 抽象类和具体类的概念 109
6.3.2 抽象方法的声明 109
6.3.3 抽象类的声明 109
6.3.4 抽象类程序设计的举例 110
6.4 接口的声明和实现 114
6.4.1 接口的概念 114
6.4.2 接口的声明 114
6.4.3 接口的实现 114
6.4.4 接口的程序设计举例 115
6.5 final方法和final类 119
6.6 嵌套类和应用实例 119
6.6.1 内部类的概念 119
6.6.2 内部类的声明 119
6.6.3 匿名内部类声明 122
6.7 基本数据类型的包装类 124
6.8 小结 124
习题 125
第7章 Java实用包 126
7.1 Math类 126
7.2 字符串类String 127
7.2.1 String构造函数 127
7.2.2 String类的方法 128
7.3 StringBuffer类 133
7.3.1 StringBuffer构造函数 133
7.3.2 StringBuffer类的方法 135
7.4 StringTokenizer类 138
7.5 Vector类与Enumeration类 140
7.5.1 Vector类 140
7.5.2 Enumeration类 141
7.6 小结 144
习题 144
第8章 图形和Java 2D 145
8.1 Java图形环境与图形对象 145
8.2 颜色控制 145
8.3 字体控制 148
8.4 绘制图形 149
8.5 Java 2D API 152
8.5.1 设置Graphics2D上下文 153
8.5.2 使用Graphics2D绘制图形 154
8.6 小结 157
习题 157
第9章 GUI组件与用户界面设计 159
9.1 AWT和Swing组件概述 159
9.2 事件处理模型 161
9.3 命令按钮 163
9.4 标签、单行文本框、多行文本域与滚动条面板 165
9.4.1 标签 165
9.4.2 单行文本框与多行文本域 166
9.4.3 滚动条面板 167
9.5 复选框按钮和单选按钮 169
9.6 组合框 174
9.7 列表 176
9.8 布局管理器 178
9.8.1 FlowLayout布局管理器 178
9.8.2 BorderLayout布局管理器 180
9.8.3 GridLayout布局管理器 182
9.8.4 CardLayout布局管理器 184
9.8.5 BoxLayout布局管理器 185
9.8.6 GridBagLayout布局管理器 187
9.9 面板和窗口 190
9.9.1 面板 190
9.9.2 窗口 192
9.10 鼠标事件处理 193
9.11 适配器类 196
9.12 键盘事件处理 198
9.13 菜单 201
9.13.1 顶层菜单 201
9.13.2 弹出式菜单 206
9.14 选项卡面板 209
9.15 小结 210
习题 211
第10章 异常处理 213
10.1 异常处理概述 213
10.2 异常分类 215
10.3 异常的捕获处理 216
10.4 重新抛出异常 218
10.4.1 异常对象的生成 218
10.4.2 重新抛出异常对象 219
10.5 定义新的异常类型 221
10.6 小结 223
习题 223
第11章 多线程 225
11.1 线程的概念 225
11.2 线程的状态与生命周期 226
11.3 线程优先级与线程调度策略 227
11.4 线程的创建和执行 228
11.4.1 Runnable接口和Thread类介绍 228
11.4.2 通过继承Thread的子类创建线程 229
11.4.3 通过实现Runnable接口创建线程 231
11.5 线程同步 233
11.5.1 Synchronized同步关键字 233
11.5.2 Wait和Notify方法 233
11.5.3 多线程同步的程序设计举例 234
11.6 Daemon线程 237
11.7 死锁 237
11.8 小结 237
习题 238
第12章 输入和输出流处理 239
12.1 输入和输出流概述 239
12.1.1 输入流和输出流 239
12.1.2 字节流和字符流 239
12.1.3 输入和输出类的继承层次结构 239
12.2 File类 240
12.3 基于字节的输入和输出类及应用实例 241
12.3.1 抽象类InputStream和OutputStream 241
12.3.2 FileInputStream类和FileOutputStream类 242
12.3.3 随机访问文件类 244
12.3.4 过滤字节流 246
12.3.5 标准输入/输出流 248
12.3.6 对象流与Serializable接口 249
12.3.7 管道流 251
12.3.8 内存读写流 252
12.3.9 序列输入流 252
12.4 基于字符的输入/输出类及应用实例 253
12.4.1 InputStreamReader类和OutputStreamWriter类 253
12.4.2 BufferedReader类和BufferedWriter类 253
12.4.3 其他字符流 254
12.5 小结 254
习题 255
第13章 网络技术和应用开发 256
13.1 Java网络技术概述 256
13.2 URL与网络应用 257
13.2.1 URL类 257
13.2.2 用applet访问URL资源 258
13.2.3 Web浏览器的设计 259
13.2.4 URLConnection类 261
13.3 基于流套接字的客户/服务器通信 262
13.3.1 InetAddress类 262
13.3.2 Socket类 263
13.3.3 ServerSocket类 264
13.3.4 基于流套接字的客户/服务器模型的通信过程 264
13.3.5 多线程实现多用户网上聊天 268
13.4 基于数据报套接字方式的客户/服务器通信 274
13.4.1 DatagramPaeket类 275
13.4.2 DatagramSocket类 275
13.4.3 基于数据报套接字的客户/服务器的通信应用实例 275
13.5 小结 281
习题 281
第14章 JDBC技术和数据库应用开发14.1 JDBC技术 283
14.1.1 JDBC的体系结构 283
14.1.2 JDBC驱动程序类型 283
14.1.3 JDBC API的主要类和接口简介 284
14.2 创建SQL Server服务器上的数据库和ODBC数据源 284
14.3 Java应用程序通过JDBC存取数据库的过程 286
14.3.1 应用JDBC存取数据库的步骤 286
14.3.2 JDBC存取SQL Server数据库的简单实例 289
14.4 JDBC中的主要接口和类 290
14.4.1 DriverManager类 290
14.4.2 Connection接口 290
14.4.3 Statement接口 291
14.4.4 PreparedStatement接口 292
14.4.5 CallableStatement接口 293
14.4.6 Java数据类型和SQL中支持的数据类型的对应关系 294
14.4.7 ResultSet接口 294
14.4.8 ResultSetMetaData接口 294
14.4.9 DatabaseMetaData接口 295
14.5 数据库开发应用实例 295
14.5.1 Study数据库的插入、修改、删除记录的程序设计 295
14.5.2 查询Study数据库的程序设计 308
14.6 小结 319
习题 320
第15章 JSP技术和Web应用开发 321
15.1 JSP概述 321
15.2 JSP运行环境的安装 322
15.2.1 Tomcat的安装和配置 323
15.2.2 在Tomcat上部署Web应用程序 324
15.3 JSP指令 326
15.3.1 page指令 326
15.3.2 include指令 328
15.4 JSP隐含对象 330
15.4.1 J2EE Web应用程序的作用域 330
15.4.2 JSP的隐含对象 331
15.5 JSP脚本 332
15.5.1 JSP脚本元素 332
15.5.2 JSP脚本的应用实例 334
15.6 JSP标准动作和应用实例 336
15.6.1 <jsp:param> 336
15.6.2 <jsp:include>动作和应用实例 336
15.6.3 <jsp:forward>动作和应用实例 337
15.7 JavaBeans在JSP中的使用 340
15.7.1 JavaBeans的定义格式 340
15.7.2 在JSP中调用JavaBeans的格式 342
15.7.3 在JSP中使用JavaBeans的例子 345
15.8 JSP数据库编程应用实例 347
15.8.1 客户的信息登记和信息浏览的例子 347
15.8.2 JSP的汉字信息的读取和写入数据库的例子 358
15.9 小结 363
习题 364
参考文献 365