第1章 Java的语言基础 1
1.1 Java的定义 1
1.1.1 Java概述 1
1.1.2 Java带来的影响 1
1.1.3 Java的特点 2
1.1.4 不同版本的Java 3
1.1.5 Java Application与Java Applet 3
1.1.6 Java与C、C++的不同之处 4
1.1.7 丰富的Java类库 5
1.1.8 Java的前景 5
1.2 Java的运行环境 5
1.2.1 J2SE的下载与安装 5
1.2.2 环境变量与测试 9
1.3 面向对象程序设计 13
1.3.1 面向对象的讲述 14
1.3.2 对象、类与实体 15
1.3.3 对象的状态与行为 15
1.3.4 对象的关系 15
1.3.5 对象的软件开发过程 16
1.4 Java的运行 17
1.4.1 Java程序 17
1.4.2 Java程序的书写和保存 19
1.5 Applet的编辑、编译与运行 19
1.5.1 Applet源程序的编辑与编译:AppletWelcome.java 19
1.5.2 在HTML文件中嵌入Applet 20
1.6 Java程序代码的输入与输出 21
1.6.1 字符串的输入与输出 21
1.6.2 JavaApplication图形的输入与输出 23
1.6.3 Applet图形的输入与输出 24
1.6.4 Java Application与Applet的共同程序 25
练习与思考题 26
第2章 Java的数据类型及程序结构 27
2.1 常量和变量 27
2.1.1 常量 27
2.1.2 变量 27
2.2 基本数据类型 32
2.2.1 整型 33
2.2.2 字符型 34
2.2.3 浮点型 35
2.2.4 逻辑布尔型 35
2.3 数组 36
2.3.1 一维数组 36
2.3.2 多维数组 38
2.4 Java的运算符 42
2.4.1 算术运算符 43
2.4.2 关系运算符 45
2.4.3 逻辑运算符 46
2.4.4 位运算符 48
2.4.5 赋值运算符 50
2.4.6 条件运算符 51
2.4.7 表达式及运算符的优先级 51
2.5 控制语句 52
2.5.1 选择语句 52
2.5.2 循环语句 55
2.5.3 跳转语句 58
练习与思考题 61
第3章 面向对象编程知识 63
3.1 概率 63
3.2 对象 63
3.2.1 对象的概念 63
3.2.2 对象句柄 64
3.2.3 初始化对象变量 64
3.3 类 64
3.3.1 类构造 65
3.3.2 术语 69
3.4 类的权限封装及成员 70
3.4.1 类的权限封装 70
3.4.2 类的成员 70
3.5 Time类 76
3.5.1 Time类的研究 76
3.5.2 this的使用 79
3.5.3 Time类的重载构造函数 80
3.6 使用已有类 84
3.6.1 构造器 84
3.6.2 Date类 85
3.6.3 Math类 91
3.6.4 GregorianCalendar类 94
3.7 包 100
3.7.1 包的建立 100
3.7.2 包的使用 101
3.7.3 Java包 102
练习与思考题 103
第4章 类的继承 104
4.1 简介 104
4.2 类的继承 104
4.2.1 派生子类 105
4.2.2 继承及其相关操作 105
4.2.3 构造器的调用 106
4.2.4 super的使用 109
4.2.5 父类与子类之间的转换 111
4.3 类层次结构分析 113
4.4 类与类的关系 116
4.4.1 依赖 116
4.4.2 聚合 117
4.4.3 继承 117
4.5 final和abstract的属性 117
4.6 类的多态性 117
4.6.1 多态的实质 118
4.6.2 多态性设计 120
4.6.3 绑定 121
4.7 多态性的实现 122
4.7.1 由继承实现多态 122
4.7.2 接口实现多态 128
4.8 虚函数的调用 129
4.8.1 上溯造型 129
4.8.2 虚函数方法的调用 130
4.8.3 构造方法内部调用方法的多态性 132
4.9 创建和使用接口 133
4.9.1 Payable类继承层次 134
4.9.2 程序的实现 134
练习与思考题 139
第5章 接口 140
5.1 接口的定义 140
5.2 接口的实现 141
5.3 接口的使用 142
5.4 接口的多重实现 145
5.5 利用接口进行对象类的转换 149
5.6 Comparable接口与Iterator接口 151
5.7 匿名类和内部类 151
5.7.1 匿名类 151
5.7.2 内部类 152
5.8 抽象 153
5.8.1 抽象行为 153
5.8.2 抽象类 153
5.9 抽象与接口的区别 157
练习与思考题 157
第6章 异常处理 159
6.1 异常 159
6.1.1 异常的基本概念 159
6.1.2 异常类及其类层次结构 160
6.1.3 异常的类型 161
6.2 异常抛出 165
6.2.1 怎样抛出异常 166
6.2.2 怎样创建异常类 167
6.3 异常捕获 168
6.3.1 捕获多个异常 169
6.3.2 重新抛出异常 169
6.3.3 finally子句 170
6.4 创建用户异常 172
6.4.1 用户自定义异常类 172
6.4.2 重抛异常及异常链接 173
6.5 异常传递 175
6.6 I/O异常 177
练习与思考题 179
第7章 图形界面设计及工具类 181
7.1 用户界面组件 181
7.1.1 JFC简介 181
7.1.2 AWT 181
7.1.3 Swing 183
7.2 AWT基本组件 185
7.2.1 标签(Label) 185
7.2.2 单选按钮(Button) 186
7.2.3 文本输入框(TextField) 186
7.2.4 多行文本输入框(TextArea) 186
7.2.5 复选框(Checkbox) 188
7.2.6 单选按钮(Radio Buttons) 190
7.2.7 画布(Canvas) 191
7.2.8 选择菜单(Choice) 193
7.2.9 菜单项(MenuItem) 194
7.2.10 列表框(Scrolling List) 194
7.2.11 文件对话框(Filedialog) 196
7.2.12 滚动条(Scrollbar) 197
7.3 AWT容器 197
7.3.1 Frame类 197
7.3.2 Panel类 199
7.4 Dialog类 200
7.4.1 非模态对话框 200
7.4.2 模态对话框 202
7.5 Swing组件的使用 203
7.5.1 Swing简介 203
7.5.2 容器类 205
7.5.3 组件 210
7.6 布局管理器 218
7.6.1 FlowLayout布局管理器 218
7.6.2 BorderLayout布局管理器 219
7.6.3 GridLayout布局管理器 220
7.6.4 GridBagLayout布局管理器 223
7.6.5 CardLayout布局管理器 225
7.6.6 容器的嵌套 227
练习与思考题 228
第8章 数据库JDBC的应用 229
8.1 JDBC简介 229
8.1.1 JDBC技术概述 229
8.1.2 JDBC驱动管理器和驱动程序类型 229
8.1.3 JDBC-ODBC桥 231
8.1.4 ODBC数据源设定 231
8.2 JDBC对象与接口 234
8.2.1 数据库连接对象与接口 234
8.2.2 数据库查询接口 239
8.2.3 ResultSet对象与接口 243
8.2.4 元数据 244
8.3 Java访问数据库的基本步骤 248
练习与思考题 251
第9章 流和文件 252
9.1 流 252
9.1.1 流概述 252
9.1.2 I/O流 252
9.1.3 筛选流 253
9.1.4 其他I/O类和接口 254
9.2 数据流的输入与输出 254
9.2.1 标准输入和标准输出 254
9.2.2 字节流与处理流 257
9.3 文件输入与输出流 260
9.3.1 FileInputStream与FileOutputStream类 260
9.3.2 FileReader与FileWriter类 262
9.3.3 随机访问文件的输入和输出 265
9.3.4 File类 270
9.4 对象流 273
9.4.1 存储对象 273
9.4.2 对象流应用示例 274
9.5 文件对话框 275
9.5.1 打开对话框 276
9.5.2 存储对话框 278
9.5.3 菜单对话框 280
9.5.4 运行可执行文件 283
练习与思考题 284
第10章 多线程 286
10.1 线程相关的概念 286
10.1.1 线程 286
10.1.2 并发性 286
10.1.3 线程的状态 287
10.2 线程的使用 288
10.2.1 线程的创建方法 289
10.2.2 多线程的创建 293
10.2.3 线程的优先级 295
10.2.4 线程的基本控制 296
10.2.5 线程的等待和中断 299
10.3 库 302
10.3.1 库的安全性 302
10.3.2 多线程内核程序 304
10.3.3 多线程垃圾收集程序 305
10.4 线程的共享与控制 306
10.4.1 同步线程的共享 306
10.4.2 线程间的同步控制 310
10.5 线程的同步问题 314
10.5.1 死锁 314
10.5.2 恢复死锁 315
10.5.3 竞争 316
10.5.4 丢失唤醒 317
10.5.5 同步变量 317
练习与思考题 331
参考文献 333