第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.3.1 Java中的包 8
2.3.2 JSE、JEE、JME 9
2.4 Java开发环境 9
2.4.1 JDK下载、安装与使用 9
2.4.2 Java集成开发环境 11
2.5 Java程序类型及简单例子 12
2.5.1 应用程序 13
2.5.2 小应用程序applet 17
2.5.3 简单输入和输出 20
2.6 小结 22
习题 22
第3章 Java程序设计基础 23
3.1 Java程序的组成 23
3.2 基本数据类型、变量与常量 25
3.2.1 基本数据类型 25
3.2.2 常量 26
3.2.3 变量 27
3.2.4 符号常量 28
3.3 运算符与表达式 29
3.3.1 算术运算符与算术表达式 29
3.3.2 赋值运算符与赋值表达式 31
3.3.3 关系运算符与关系表达式 32
3.3.4 逻辑运算符与逻辑表达式 33
3.3.5 位运算符 34
3.3.6 其他运算符 36
3.3.7 运算符的优先级与结合性 37
3.3.8 混合运算时数据类型的转换 37
3.3.9 语句和块 38
3.4 算法的基本控制结构 39
3.4.1 分支语句 40
3.4.2 循环语句 44
3.5 方法 50
3.5.1 方法的声明 51
3.5.2 方法的调用 51
3.5.3 方法的参数传递 52
3.5.4 方法的重载 53
3.5.5 嵌套与递归 54
3.5.6 变量的作用域 55
3.6 数组 55
3.6.1 一维数组 56
3.6.2 增强的for循环语句 58
3.6.3 多维数组 59
3.6.4 可变长的方法参数 61
3.7 小结 62
习题 62
第4章 类与对象 64
4.1 面向对象程序设计的思想 64
4.1.1 OOP思想 64
4.1.2 用类实现抽象数据类型:时钟类 64
4.1.3 类成员:域、方法和构造方法 66
4.2 类的作用域 67
4.3 成员访问控制 68
4.4 初始化类的对象:构造方法 69
4.5 this 71
4.6 使用set和get方法 72
4.7 垃圾收集 74
4.8 static方法和域 74
4.9 类的组合 76
4.10 包的创建和访问 78
4.10.1 包的创建 78
4.10.2 访问包中的类 79
4.10.3 导入static成员 80
4.11 小结 81
习题 81
第5章 类的继承和派生 83
5.1 继承的概念和软件的重用性 83
5.2 派生类的定义 84
5.3 作用域和继承 85
5.4 方法的重新定义 85
5.5 继承下的构造方法和finalize方法 87
5.6 超类和子类的关系 90
5.7 继承的程序设计举例 93
5.8 小结 95
习题 95
第6章 多态性 97
6.1 多态性概念 97
6.2 继承层次结构中对象间的关系 97
6.3 抽象类和抽象方法 99
6.3.1 抽象类和具体类的概念 99
6.3.2 抽象方法的声明 99
6.3.3 抽象类的声明 99
6.3.4 抽象类程序设计的举例 99
6.4 接口的声明和实现 102
6.4.1 接口的概念 102
6.4.2 接口的声明 103
6.4.3 接口的实现 103
6.4.4 接口的程序设计举例 103
6.5 final方法和final类 106
6.6 嵌套类和应用实例 107
6.6.1 内部类的概念 107
6.6.2 内部类的声明 107
6.6.3 匿名内部类声明 109
6.7 基本数据类型的包装类 111
6.8 小结 111
习题 111
第7章 Java实用包 113
7.1 Math类 113
7.2 字符串类String 114
7.2.1 String构造函数 114
7.2.2 String类的方法 115
7.3 StringBuffer类 118
7.3.1 StringBuffer构造函数 118
7.3.2 StringBuffer类的方法 119
7.4 StringTokenizer类 122
7.5 Vector类与Enumeration类 124
7.5.1 Vector类 124
7.5.2 Enumeration类 125
7.6 小结 127
习题 127
第8章 图形和Java 2D 128
8.1 Java图形环境与图形对象 128
8.2 颜色控制 128
8.3 字体控制 130
8.4 使用Graphics绘制图形 131
8.5 Java 2D API 134
8.5.1 设置Graphics2D上下文 135
8.5.2 使用Graphics2D绘制图形 136
8.6 小结 138
习题 138
第9章 GUI组件与用户界面设计 139
9.1 AWT和Swing组件概述 139
9.2 事件处理模型 141
9.3 命令按钮 143
9.4 标签、单行文本框、多行文本域与滚动条面板 145
9.4.1 标签 145
9.4.2 单行文本框与多行文本域 145
9.4.3 滚动条面板 146
9.5 复选框按钮和单选按钮 149
9.6 组合框 152
9.7 列表 154
9.8 布局管理器 155
9.8.1 FlowLayout布局管理器 156
9.8.2 BorderLayout布局管理器 157
9.8.3 GridLayout布局管理器 159
9.8.4 CardLayout布局管理器 160
9.8.5 BoxLayout布局管理器 162
9.8.6 GridBagLayout布局管理器 163
9.9 面板和窗口 165
9.9.1 面板 165
9.9.2 窗口 167
9.10 鼠标事件处理 168
9.11 适配器类 170
9.12 键盘事件处理 172
9.13 菜单 175
9.13.1 顶层菜单 175
9.13.2 弹出式菜单 179
9.14 选项卡面板 181
9.15 小结 183
习题 183
第10章 异常处理 185
10.1 异常处理概述 185
10.2 异常分类 187
10.3 异常的捕获处理 188
10.4 重新抛出异常 189
10.4.1 异常对象的生成 189
10.4.2 重新抛出异常对象 190
10.5 定义新的异常类型 192
10.6 小结 193
习题 194
第11章 多线程 195
11.1 线程的概念 195
11.2 线程的状态与生命周期 196
11.3 线程优先级与线程调度策略 197
11.4 线程的创建和执行 198
11.4.1 Runnable接口和Thread类介绍 198
11.4.2 通过继承Thread的子类创建线程 199
11.4.3 通过实现Runnable接口创建线程 200
11.5 线程同步 202
11.5.1 synchonized同步关键字 202
11.5.2 wait和notify方法 203
11.5.3 多线程同步的程序设计举例 203
11.6 Daemon线程 205
11.7 死锁 205
11.8 小结 206
习题 206
第12章 输入和输出流处理 207
12.1 输入和输出流概述 207
12.1.1 输入流和输出流 207
12.1.2 字节流和字符流 207
12.1.3 输入和输出类的继承层次结构 207
12.2 File类 208
12.3 基于字节的输入和输出类及应用实例 209
12.3.1 抽象类InputStream和OutputStream 209
12.3.2 FileInputStream类和FileOutputStream类 210
12.3.3 随机访问文件类 211
12.3.4 过滤字节流 213
12.3.5 标准输入/输出流 215
12.3.6 对象流与Serializable接口 216
12.3.7 管道流 218
12.3.8 内存读写流 219
12.3.9 序列输入流 219
12.4 基于字符的输入和输出类及应用实例 219
12.4.1 InputStreamReader类和OutputStreamWriter类 220
12.4.2 BufferedReader类和BufferedWriter类 220
12.4.3 其他字符流 220
12.5 小结 221
习题 221
第13章 网络技术和应用开发 222
13.1 Java网络技术概述 222
13.2 URL与网络应用 223
13.2.1 URL类 223
13.2.2 用applet访问URL资源 224
13.2.3 Web浏览器的设计 224
13.2.4 URLConnection类 226
13.3 基于流套接字的客户/服务器通信 227
13.3.1 InetAddress类 227
13.3.2 Socket类 228
13.3.3 ServerSocket类 229
13.3.4 基于流套接字的客户/服务器的通信过程 229
13.3.5 多线程实现多用户网上聊天 232
13.4 基于数据报套接字方式的客户/服务器通信 237
13.4.1 DatagramPacket类 237
13.4.2 DatagramSocket类 237
13.4.3 基于数据报套接字的客户/服务器的通信应用实例 237
13.5 小结 242
习题 242
第14章 JDBC技术和数据库应用开发 243
14.1 JDBC技术 243
14.1.1 JDBC的体系结构 243
14.1.2 JDBC驱动程序类型 243
14.1.3 JDBC API的主要类和接口简介 244
14.2 创建SQL Server服务器上的数据库和ODBC数据源 244
14.3 Java应用程序通过JDBC存取数据库的过程 246
14.3.1 应用JDBC存取数据库的步骤 246
14.3.2 JDBC存取SQL Server数据库的简单实例 247
14.4 JDBC中的主要接口和类 249
14.4.1 DriverManager类 249
14.4.2 Connection接口 250
14.4.3 Statement接口 250
14.4.4 PreparedStatement接口 251
14.4.5 CallableStatement接口 252
14.4.6 Java数据类型和SQL中支持的数据类型的对应关系 253
14.4.7 ResultSet接口 254
14.4.8 ResultSetMetaData接口 254
14.4.9 DatabaseMetaData接口 255
14.5 数据库开发应用实例 255
14.5.1 Study数据库的插入、修改、删除记录的程序设计 255
14.5.2 查询Study数据库的程序设计 265
14.6 小结 274
习题 274
第15章 JSP技术和Web应用开发 275
15.1 JSP概述 275
15.2 JSP运行环境的安装 276
15.2.1 Tomcat 6的安装和配置 277
15.2.2 在Tomcat上部署Web应用程序 278
15.3 JSP指令 280
15.3.1 page指令 280
15.3.2 include指令 281
15.4 JSP隐含对象 283
15.4.1 J2EE Web应用程序的作用域 283
15.4.2 JSP的隐含对象 284
15.5 JSP脚本 285
15.5.1 JSP脚本元素 285
15.5.2 JSP脚本的应用实例 286
15.6 JSP标准动作和应用实例 288
15.6.1 <jsp:param> 288
15.6.2 <jsp:include>动作和应用实例 288
15.6.3 <jsp:forward>动作和应用实例 289
15.7 JavaBeans在JSP中的使用 292
15.7.1 JavaBeans定义的格式 292
15.7.2 在JSP中调用JavaBeans的格式 293
15.7.3 在JSP中使用JavaBeans的例子 295
15.8 JSP数据库编程应用实例 297
15.8.1 客户的信息登记和信息浏览的例子 297
15.8.2 JSP汉字信息的读取和写入数据库的例子 306
15.9 小结 310
习题 311
参考文献 312