《Java程序设计高级主题》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)Joe Wigglesworth,(美)Paula Lumby著;赵强,陈洪译
  • 出 版 社:北京:北京大学出版社
  • 出版年份:2004
  • ISBN:7301069464
  • 页数:502 页
图书介绍:本书讲述Java程序设计语言的高级主题。

目录 1

第1章 Java程序设计语言简介 1

1.1 简介 1

1.2 Java平台概述 1

1.3 能使用Java平台的地方 2

1.4 什么是Java 3

1.5 Java技术的发展历史 5

1.6 Java工具 6

1.7 如何在Java 2 SDK工具中查找文件 8

1.8 第一个Java程序 8

1.9 运行Java程序 12

1.10 Java程序的注释 14

1.10.1 文档注释 14

1.10.2 使用javadoc标记 15

1.10.3 用javadoc产生HTML 16

1.11 程序打包用于分发 20

1.12 小结 21

1.13 习题 22

1.14 训练题 23

第2章 程序基本概念 25

2.1 简介 25

2.2 变量和标识符 25

2.3 Java编程语言的关键字 27

2.4 表达式 28

2.4.1 操作符 28

2.4.2 数学类中的浮点运算 30

2.5 常量 31

2.6 语句 33

2.6.1 if语句 34

2.6.2 switch语句 34

2.6.3 while语句 35

2.6.4 do语句 35

2.6.6 跳离循环 36

2.6.5 for语句 36

2.7 方法 39

2.7.1 参数 40

2.7.2 返回值和返回语句 40

2.7.3 局部变量 41

2.7.4 main方法 41

2.8 I/O控制台 41

2.8.1 简单的输入输出流 42

2.8.2 一个输入字符串的语法分析 43

2.8.3 一个I/O控制台程序示例 44

2.9 小结 45

2.10 习题 46

2.11 训练题 48

3.1 简介 51

3.2 强类型 51

3.3 基本类型和引用类型 51

第3章 类型 51

3.3.1 布尔类型 52

3.3.2 字符类型 52

3.3.3 转义字符 53

3.3.4 整数类型 53

3.3.5 浮点类型 54

3.3.6 强制转换基本类型 54

3.4.2 对象引用的赋值 55

3.4 对象引用 55

3.4.1 创建一个引用类型的对象 55

3.4.3 传递作为参数的对象引用 56

3.4.4 删除引用类型的对象 56

3.4.5 自动地回收垃圾 56

3.5 Object类 57

3.6 基本类型的包装类 58

3.7 数组 59

3.7.1 数组索引和长度 61

3.7.2 一个方法返回一个数组 62

3.7.4 使用多维数组 63

3.7.3 复制数组 63

3.8 字符串 65

3.8.1 字符串操作 65

3.8.2 字符串缓冲器对象的操作 68

3.9 小结 69

3.10 习题 70

3.11 训练题 73

第4章 类和包 76

4.1 简介 76

4.2 类和面向对象程序设计 76

4.3 Java的类 77

4.4 类的定义 78

4.4.1 定义成员 79

4.4.2 定义方法 79

4.4.3 定义域 80

4.4.4 初始化域 80

4.5 使用一个已定义的类 81

4.6 使用构造方法和终结器 83

4.6.1 构造方法 83

4.6.2 终结器 84

4.7 引用对象和垃圾收集 86

4.8 重载方法 86

4.9 使用作为对象引用的this 89

8.6.3 抑制域的序列化 1 89

4.10 使用静态成员 90

4.10.1 初始化静态成员 92

4.10.2 类方法和继承 93

4.11 使用包 93

4.11.1 包名、文件名和文件夹名 94

4.11.3 引入语句 95

4.11.2 子包 95

4.11.4 核心Java包 96

4.12 小结 98

4.13 习题 99

4.14 训练题 102

第5章 继承 107

5.1 继承与面向对象程序设计 107

5.2 Java程序设计语言对继承的支持 108

5.3 继承类 109

5.3.1 final类 110

5.3.2 抽象类 111

5.3.3 多重继承的问题 112

5.4 实现接口 112

5.5 访问控制符对成员的作用 115

5.6 对象引用super 117

5.7 构造方法和继承 118

5.8 终结器方法与继承 120

5.9 重置方法 122

5.10 动态绑定 124

5.11 小结 127

5.12 习题 128

5.13 训练题 133

6.1 简介 136

6.2 使用try程序块包装异常 136

第6章 异常 136

6.2.1 异常处理与调用堆栈 137

6.2.2 声明未被捕获的异常 137

6.3 抛出异常 138

6.3.1 受检验的异常和不受检验的异常 139

6.4 捕获异常 140

6.3.2 在终结器中抛出异常 140

6.5 使用finally程序块 145

6.6 小结 147

6.7 习题 148

6.8 训练题 151

第7章 克隆及运行类型信息 154

7.1 简介 154

7.2 克隆对象 154

7.2.1 使对象可克隆 156

7.2.2 覆盖默认的clone方法 157

7.2.3 定义Cloneable类 159

7.3 运行时类型信息 160

7.3.1 决定对象类型 160

7.3.2 访问运行时的类信息 161

7.4 类型转换 163

7.5 使用反射API 165

7.6 小结 172

7.7 习题 173

7.8 训练题 175

第8章 输入和输出 178

8.1 Java平台如何支持I/O 178

8.2 I/O程序设计 178

8.3 字节流 179

8.3.1 预定义的流对象 180

8.3.2 输入输出方法 181

8.3.4 其他的字节I/O类 182

8.3.3 过滤流 182

8.4 文件I/O基础 183

8.4.1 浏览文件 185

8.4.2 随机访问文件I/O 186

8.5 字符流 187

8.5.1 在字节流和字符流I/O上建立连接 188

8.5.2 使用其他字符I/O类 188

8.5.3 每次读取一个标记 188

8.6.2 使用对象流 189

8.6 对象序列化 189

8.6.1 序列化对象 189

8.6.4 指定版本号 192

8.6.5 序列化格式的兼容性 192

8.7 小结 192

8.8 习题 193

8.9 训练题 195

第9章 嵌套类和内部类 198

9.1 简介 198

9.2 嵌套类和接口 198

9.3 内部类 201

9.3.1 为什么要使用内部类 202

9.3 2 定义成员内部类 202

9.3.3 避免内部类中名字冲突 205

9.3.4 内部类的封闭对象 205

9.3.5 研究成员内部类的子类 207

9.4 局部内部类 208

9.5 匿名局部内部类 210

9.5.1 创建匿名内部类 210

9.5.2 使用实例初始器 210

9.6 对于产生出类文件的影响 211

9.8 习题 212

9.7 小结 212

9.9 训练题 216

第10章 工具和集合类 219

10.1 简介 219

10.2 java.util包 219

10.3 Observer和Observable对象 220

10.4 集合框架 223

10.4.1 集合框架中的接口 223

10.4.2 用叠代器检索集合 230

10.4.3 常用的工具 231

10.4.5 算法 237

10.4.4 作为集合的数组 237

10.4.6 包装工具 239

10.4.7 继承抽象工具 239

10.4.8 遗留集合框架类 239

10.4.9 用枚举方式检索集合 240

10.5 小结 245

10.6 习题 245

10.7 训练题 247

第11章 多线程 250

11.1 线程和多线程 250

11.2 线程的生命周期 250

11.3 创建并运行线程 251

11.4.1 stop方法和其他的方法被取消的原因 254

11.4.2 如何停止进程 254

11.4 停止一个线程 254

11.5 创建服务线程 256

11.6 编写稳固的多线程程序 257

11.7 同步线程 257

11.7.1 何时同步代码 259

11.7.2 内部类的同步方法 259

11.8 线程间通信 260

11.8.3 唤醒所有线程 262

11.8.4 线程间通信的例子 262

11.8.2 唤醒一个线程 262

11.8.1 让线程保持等待 262

11.9 线程组 266

11.10 小结 269

11.11 习题 269

11.12 训练题 272

第12章 图形用户界面 275

12.1 简介 275

12.2 图形用户界面的发展 275

12.3 图形用户界面的主要术语和特征 276

12.4 Java基础类概述 277

12.5.1 Swing应用程序接口 279

12.5 事件模型 279

12.5.2 分离的模型架构 281

12.6 JFC例程 282

12.6.1 Java应用程序:Hello World! 283

12.6.2 3个面板例程 285

12.7 小结 290

12.8 习题 291

12.9 训练题 292

第13章 窗口和事件编程 295

13.1 用JFC编程 295

13.2 Swing API组件 296

13.3 JComponent类 297

13.4 窗口、对话框和面板 298

13.5 布局管理器 303

13.5.1 边缘布局管理器 306

13.5.2 流式布局管理器 307

13.5.3 网格布局管理器 308

13.5.4 网格块布局管理器 308

13.5.5 卡片式布局管理器 309

13.5.6 箱式布局管理器 309

13.5.7 标签窗格 310

13.5.8 拆分窗格 310

13.5.9 手工设置组件的位置 310

13.6 标签、按钮、复选框 311

13.7 事件 316

13.8 菜单、工具栏、动作 320

13.9 滑杆、进度条、滚动条 327

13.10 列表框、组合框 330

13.11 文本输入组件 335

13.12 选择器 340

13.13 表格和树 345

13.14 绘制 348

13.15 二维图形 349

13.16 小结 354

13.17 习题 354

13.18 训练题 356

第14章 客户端的Java和applet 360

14.1 applet概述 360

14.2 什么是applet 360

14.2.1 HTML文档概览 361

14.2.2 HTML支持applet 361

14.2.3 创建applet 362

14.3 applet例程 362

14.4 使用HTML applet标记 363

14.5 使用java.applet包 365

14.6 继承applet类 366

14.7 TickerMessage applet 369

14.8.1 添加声音 375

14.8 在applet中使用多媒体 375

14.8.2 添加图像 376

14.9 安全 378

14.9.1 理解applet的安全 378

14.9.2 标记applet 379

14.9.3 权限与策略文件 380

14.10 将applet打包成jar文件 381

14.11 小结 382

14.12 习题 383

14.13 训练题 384

15.2 JavaBean组件模型 388

15.1 简介 388

第15章 JavaBean 388

15.3 JavaBean的组成 389

15.4 JavaBean开发环境 390

15.5 使用Sun BeanBox 391

15.6 建立JavaBean类 393

15.6.1 ImageBeanl解析 395

15.6.2 在BeanBox中使用ImageBean1 397

15.7 其他类型的JavaBean属性 399

15.7.1 索引属性 399

15.7.2 绑定属性 399

15.8 增加自定义的事件类型 400

15.7.3 限制属性 400

15.9 建立带有自定义事件的JavaBean 401

15.9.1 ImageBean2解析 404

15.9.2 ImageBean2中的自定义事件 405

15.9.3 自定义事件类的监听器接口 406

15.9.4 在BeanBox中使用ImageBean2 406

15.10 提供JavaBean的信息 407

15.11 提供一个定制的属性编辑器 409

15.12 建立带有Beanlnfo类的JavaBean 409

15.12.1 ImageBean3解析 413

15.12.3 ImageBean3类的BeanInfo类 414

15.12.2 ImageBean3类的属性编辑器 414

15.12.4 ImageBean3BeanInfo解析 415

15.13 建立使用BeanContext API的JavaBean 417

15.13.1 ImageBeanChildContextSupport类的定义 418

15.13.2 ImageBeanContextChildSupport类解析 419

15.14 Enterprise JavaBean 421

15.15 小结 421

15.16 习题 422

15.17 训练题 423

第16章 网络编程 428

16.1 简介 428

16.2 使用URL 428

16.3.1 TCP/IP套接字 429

16.3 使用套接字 429

16.3.2 数据报套接字 435

16.4 RMI 438

16.4.1 开发对象的远程类 439

16.4.2 开发RMI服务器端类 440

16.4.3 开发RMI客户端类 441

16.4.4 运行服务器端程序和客户端程序 443

16.4.5 INDI 444

16.4.6 Java IDL与CORBA 444

16.5 小结 444

16.6 习题 445

16.7 训练题 446

第17章 服务器端编程 450

17.1 简介 450

17.1.1 建立动态Web站点的一些考虑 450

17.1.2 理解HTTP协议 451

17.2 servlet简介 452

17.2.1 编写第一个servlet 454

17.2.2 安装、运行servlet例程 456

17.3 开发Web和servlet 456

17.4 servlet API 457

17.5 编写servlet接收请求和发送响应 459

17.5.1 编写处理HTML表单的servlet 464

17.5.2 servlet的输出重定向 469

17.5.3 在session中保存状态数据 470

17.5.4 使用cookie提供连续性 472

17.6 servlet驱动的Web编程 474

17.6.1 使用多线程编写servlet 475

17.6.2 明智地使用applet 475

17.6.3 使用MVC的设计模式 476

17.6.4 小心浏览器的Back按钮 476

17.6.5 安全 476

17.7 JSP 477

17.7.2 JSP中的Java编程 479

17.7.1 服务器如何处理JSP 479

17.7.3 在应用MVC的设计模式中使用JSP和JavaBean 483

17.7.4 JSP规范的改进 487

17.8 数据库连接 488

17.8.1 JDBC API 489

17.8.2 加载数据库驱动程序 490

17.8.3 建立数据库连接 490

17.8.4 执行动态SQL语句 493

17.8.5 处理结果集 496

17.9 小结 497

17.10 习题 498

17.11 训练题 500