《Java技术内幕》PDF下载

  • 购买积分:22 如何计算积分?
  • 作  者:(美)Steven Holzner著;马朝晖等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2002
  • ISBN:711109400X
  • 页数:837 页
图书介绍:

前言 1

第1章 Java的本质 1

1.1 深入讲解 1

1.2 即时解决方案 6

1.2.1 获得和安装Java 6

1.2.2 Java1.1的新特点 7

1.2.3 Java1.1中废弃了什么 9

1.2.4 Java2的新特点 9

1.2.5 Java2废弃了什么 10

1.2.6 编写代码: 创建代码文件 11

1.2.7 编写代码: 了解Java保留字 11

1.2.8 编写代码: 创建应用程序 13

1.2.9 编译代码 15

1.2.10 编译代码: 使用命令行选项 16

1.2.11 编译代码: 检查废弃的方法 18

1.2.12 运行代码 18

1.2.13 运行代码: 使用命令行选项 21

1.2.14 基本技巧: 注释代码 22

1.2.15 基本技巧: 导入Java包和类 24

1.2.16 基本技巧: 使用CLASSPATH找到Java类 27

1.2.17 创建applet 29

1.2.18 运行applet 30

1.2.19 创建窗口化应用程序 31

1.2.20 运行窗口化应用程序 32

1.2.21 设计Java程序 33

1.2.22 发布Java程序 34

第2章 变量、数组和字符串 36

2.1 深入讲解 37

2.1.1 变量 37

2.1.2 数组 39

2.1.3 字符串 42

2.2 即时解决方案 43

2.2.1 可以使用什么数据类型 43

2.2.2 创建整数直接量 44

2.2.3 创建浮点数直接量 45

2.2.4 创建布尔值直接量 46

2.2.5 创建字符直接量 47

2.2.6 创建字符串直接量 48

2.2.7 声明整数变量 49

2.2.8 声明浮点数变量 50

2.2.9 声明字符变量 51

2.2.10 声明布尔值变量 52

2.2.11 初始化变量 53

2.2.12 数据类型转换 55

2.2.13 声明一维数组 57

2.2.14 创建一维数组 58

2.2.15 初始化一维数组 59

2.2.16 声明多维数组 59

2.2.17 创建多维数组 60

2.2.18 初始化多维数组 62

2.2.19 创建不规则多维数组 63

2.2.21 String类 64

2.2.20 获取数组长度 64

2.2.22 创建字符串 67

2.2.23 获取字符串长度 70

2.2.24 字符串连接 70

2.2.25 获取字符和子字符串 71

2.2.26 搜索和替换字符串 73

2.2.27 在字符串中改变大小写 74

2.2.28 格式化字符串中的数字 74

2.2.29 StringBuffer类 75

2.2.30 创建StringBuffer 77

2.2.31 获取和设置StringBuffer的长度和容量 78

2.2.32 在StringBuffer中设置字符 79

2.2.33 使用StringBuffer附加和插入 79

2.2.34 在StringBuffer中删除文本 80

2.2.35 在StringBuffer中替换文本 80

第3章 操作符、条件和循环 82

3.1 深入讲解 82

3.1.1 操作符 83

3.1.2 条件 84

3.1.3 循环 85

3.2 即时解决方案 86

3.2.1 操作符优先级别 86

3.2.2 递增和递减:++和-- 88

3.2.3 一元Not:~和! 89

3.2.4 乘和除:*和/ 90

3.2.5 模数:% 91

3.2.6 加和减:+和- 91

3.2.7 移位操作符:>>、>>>和<< 91

3.2.8 关系操作符:>、>=、<、==和!= 92

3.2.9 位和位逻辑And、Xor和Or: 、^和| 93

3.2.10 逻辑 和|| 95

3.2.11 if-then-else操作符:?: 97

3.2.12 赋值操作符:=和[操作符]= 98

3.2.13 使用Math类 100

3.2.14 字符串比较 101

3.2.15 if语句 102

3.2.16 switch语句 105

3.2.17 while循环 107

3.2.18 do-while循环 110

3.2.19 for循环 111

3.2.20 循环嵌套 114

3.2.21 使用break语句 115

3.2.22 使用continue语句 116

4.1 深入讲解 118

第4章 面向对象编程 118

4.1.1 类 119

4.1.2 对象 120

4.1.3 数据成员 120

4.1.4 方法 121

4.1.5 继承 122

4.2 即时解决方案 122

4.2.1 声明和创建对象 122

4.2.2 声明和定义类 125

4.2.3 创建实例变量 128

4.2.4 设置变量访问 129

4.2.5 创建类变量 130

4.2.6 创建方法 132

4.2.7 设置方法访问 133

4.2.8 向方法传递参数 135

4.2.9 传递给main的命令行参数 137

4.2.10 从方法返回值 137

4.2.11 创建类方法 139

4.2.12 创建数据访问方法 140

4.2.13 创建构造器 142

4.2.14 向构造器传递参数 142

4.2.15 完整的类范例 143

4.2.16 了解变量范围 145

4.2.17 使用递归 147

4.2.18 垃圾收集和内存管理 148

4.2.19 垃圾收集和finalize方法 150

4.2.20 方法重载 151

4.2.21 构造器重载 152

4.2.22 向方法传递对象 154

4.2.23 向方法传递数组 156

4.2.24 使用this关键字 157

4.2.25 从方法返回对象 158

4.2.26 从方法返回数组 159

第5章 继承、内部类和接口 161

5.1 深入讲解 161

5.1.1 为什么继承 162

5.1.2 什么是接口 163

5.1.3 什么是内部类 164

5.2 即时解决方案 165

5.2.1 创建子类 165

5.2.2 访问说明符和继承 166

5.2.3 调用超类构造器 169

5.2.4 创建多层继承 172

5.2.5 处理多层构造器 174

5.2.6 覆盖方法 176

5.2.7 访问被覆盖的成员 177

5.2.8 和子类对象一起使用超类变量 179

5.2.9 动态方法调度 181

5.2.10 创建抽象类 183

5.2.11 使用final终止覆盖 185

5.2.12 使用final终止继承 186

5.2.13 使用final创建常量 187

5.2.14 is-a和has-a关系 188

5.2.15 Java对象类 189

5.2.16 为进行多重继承使用接口 192

5.2.17 创建内部类 195

5.2.18 创建匿名内部类 196

第6章 applet、应用程序和事件处理 197

6.1 深入讲解 197

6.1.1 Abstract Windowing Toolkit 198

6.1.2 applet 199

6.1.3 应用程序 200

6.2 即时解决方案 201

6.2.1 使用Abstract Windowing Toolkit 201

6.1.4 处理事件 201

6.2.2 创建applet 207

6.2.3 使用HTML标记 209

6.2.4 处理非Java浏览器 211

6.2.5 在代码中嵌入标记 212

6.2.6 使用init、start、stop、destory、paint和update方法 212

6.2.8 使用Java浏览器插件 214

6.2.7 在applet中绘制图形 214

6.2.9 在applet中读取参数 216

6.2.10 在浏览器中使用Java控制台 217

6.2.11 向applet添加控件: 文本域 218

6.2.12 向applet添加控件: 按钮 219

6.2.13 事件处理 220

6.2.14 使用适配器类 227

6.2.15 使用匿名内部适配器类 228

6.2.16 创建窗口化的应用程序 229

6.2.17 当应用程序窗口关闭时退出应用程序 232

6.2.18 可以作为applet运行的应用程序 233

第7章 AWT: 文本域、按钮、复选框、单选按钮和布局 235

7.1 深入讲解 235

7.1.1 文本域 235

7.1.2 按钮 235

7.1.3 复选框 236

7.1.4 单选按钮 236

7.1.5 布局 236

7.2 即时解决方案 237

7.2.1 使用文本域 237

7.2.2 使用标签 239

7.2.3 使用按钮 241

7.2.4 使用复选框 244

7.2.5 使用单选按钮 248

7.2.6 流布局 250

7.2.7 网格布局 253

7.2.8 使用板 255

7.2.9 边框布局 257

7.2.10 卡片布局 260

7.2.11 网格包装布局 263

7.2.12 使用镶边和填充 267

7.2.13 创建你自己的布局管理器 269

8.1.2 选择 271

8.1.1 列表 271

8.1 深入讲解 271

第8章 AWT: 列表、选择框、文本区域、滚动条和滚动板 271

8.1.3 文本区域 272

8.1.4 滚动条 272

8.1.5 滚动板 272

8.2 即时解决方案 272

8.2.1 使用文本区域 272

8.2.2 在文本区域中替换文本 275

8.2.3 查找和选择文本区域中的文本 276

8.2.4 使用列表 278

8.2.5 使用多项选择列表 282

8.2.6 使用选择控件 285

8.2.7 使用滚动条 289

8.2.8 滚动条和边框布局 294

8.2.9 使用滚动板 296

第9章 AWT: 图形、图像、文本和字体 300

9.1 深入讲解 300

9.1.1 图形 300

9.1.2 图像 300

9.1.3 文本和字体 301

9.1.4 键盘和鼠标 301

9.2 即时解决方案 301

9.2.1 使用鼠标 301

9.2.2 使用键盘 304

9.2.3 使用字体 308

9.2.4 使用图像 314

9.2.5 重新设置图像的尺寸 315

9.2.6 绘制图形 317

9.2.7 选择颜色 326

9.2.8 使用画布 328

9.2.9 使用ImageObserver接口 330

9.2.10 使用MediaTracker类 332

9.2.11 逐像素操作: PixelGrabber和MemoryImageSource类 334

9.2.12 将图像加亮 337

9.2.13 将图像转换为灰度图 339

9.2.14 使图像凸起 341

第10章 AWT: 窗口、菜单和对话框 343

10.1 深入讲解 343

10.1.1 窗口 343

10.1.2 菜单 344

10.1.3 对话框 344

10.2 即时解决方案 344

10.2.1 创建框架窗口 344

10.2.2 显示和隐藏窗口 348

10.2.3 处理窗口事件 349

10.2.4 在关闭时自动隐藏窗口 351

10.2.5 使用Window类 352

10.2.6 创建菜单 356

10.2.7 创建MenuBar对象 358

10.2.8 创建Menu对象 360

10.2.9 创建MenuItem对象 361

10.2.10 处理Menu事件 363

10.2.11 更多的菜单选项 364

10.2.12 添加菜单分隔线 367

10.2.13 禁用菜单项 368

10.2.14 向菜单添加复选框 369

10.2.15 创建子菜单 371

10.2.16 弹出式菜单 373

10.2.17 对话框 375

10.2.18 文件对话框 379

11.1 深入讲解 383

11.1.1 Java基本类 383

第11章 Swing: applet、应用程序和可插入的外观 383

11.1.2 Swing 384

11.1.3 重型和轻量组件 385

11.1.4 Swing功能 386

11.1.5 使用板进行图形编程 387

11.1.6 Model View Controller体系结构 387

11.2 即时解决方案 388

11.2.1 操作Swing 388

11.2.2 准备创建AWT applet 390

11.2.3 理解根板 392

11.2.4 理解层板 394

11.2.5 理解内容板 395

11.2.6 创建Swing applet 396

11.2.7 创建Swing应用程序 399

11.2.8 关闭JFrame窗口 401

11.2.9 选择组件边框 403

11.2.10 设置可插入的外观 406

11.2.11 为组件设置可插入的外观 410

12.1 深入讲解 413

第12章 Swing: 文本域、按钮、切换按钮、复选框和单选按钮 413

12.1.2 按钮 414

12.1.3 切换按钮 414

12.1.4 复选框和单选按钮 414

12.2 即时解决方案 414

12.2.1 使用标签 414

12.2.2 使用图像图标 417

12.2.3 在标签中使用图像 417

12.2.4 使用文本域 419

12.2.5 抽象按钮: Swing按钮的基础 421

12.2.6 使用按钮 424

12.2.7 在按钮中显示图像 426

12.2.8 使用翻滚器和禁用按钮 427

12.2.9 默认按钮和助记符 429

12.1.1 标签和文本域 431

12.2.10 使用切换按钮 431

12.2.11 创建切换按钮组 433

12.2.12 使用复选框 435

12.2.13 使用单选按钮 437

12.2.14 使用复选框和单选按钮图像 439

12.2.15 得到和设置复选框和单选按钮的状态 441

第13章 Swing: 视口、滚动、滑动条和列表 444

13.1 深入讲解 444

13.1.1 视口 444

13.1.5 列表 445

13.2.1 处理视口 445

13.2 即时解决方案 445

13.1.3 滑动条 445

13.1.4 滚动条 445

13.1.2 滚动板 445

13.2.2 创建滚动板 450

13.2.3 创建滚动板标题和边框 454

13.2.4 滚动图像 455

13.2.5 创建滑动条 456

13.2.6 填充滑动条 460

13.2.7 绘制滑动条定位标志 461

13.2.8 绘制滑动条标签 462

13.2.9 设置滑动条区间 462

13.2.10 创建滚动条 464

13.2.11 创建列表 468

13.2.12 处理多项列表选择 472

13.2.13 在列表中显示图像 474

13.2.14 创建定制的列表模型 475

13.2.15 创建定制的列表单元格表现器 476

13.2.16 在列表中处理双击 477

第14章 组合框、进度条、工具提示、分隔线和选择器 479

14.1 深入讲解 479

14.1.1 组合框 479

14.2.1 创建组合框 480

14.2 即时解决方案 480

14.1.5 分隔线 480

14.1.4 工具提示 480

14.1.3 选择器 480

14.1.2 进度条 480

14.2.2 处理组合框选择事件 484

14.2.3 创建可编辑的组合框 486

14.2.4 向组合框中添加图像 488

14.2.5 创建组合框模型 489

14.2.7 创建进度条 490

14.2.6 创建组合框定制表现器 490

14.2.8 更新进度条 494

14.2.9 处理进度条事件 495

14.2.10 创建工具提示 497

14.2.11 创建分隔线 499

14.2.12 自动重设分隔线的尺寸 501

14.2.13 创建颜色选择器 502

14.2.14 创建文件选择器 505

14.2.15 文件选择器过滤器 511

15.1 深入讲解 515

15.1.1 层板 515

第15章 Swing: 层板、选项卡板、分割板和布局 515

15.1.2 选项卡板 516

15.1.3 分割板 516

15.1.4 布局 516

15.2 即时解决方案 516

15.2.1 理解Swing组件和ZOrder 516

15.2.2 使Swing组件透明 518

15.2.3 使用层板 520

15.2.4 使用选项卡板 523

15.2.5 指定选项卡板中的选项卡位置 527

15.2.6 使用分割板 529

15.2.7 使分割板成为可单击扩展的 533

15.2.8 设置分割板方向 535

15.2.9 设置分割线尺寸 536

15.2.10 使用框布局管理器 538

15.2.11 使用Box类 540

15.2.12 使用重叠布局管理器 544

16.1.2 工具条 547

16.1.1 菜单 547

第16章 Swing: 菜单和工具条 547

16.1 深入讲解 547

16.2 即时解决方案 548

16.2.1 创建菜单条 548

16.2.2 创建菜单 549

16.2.3 创建菜单项 551

16.2.4 创建基本的菜单系统 553

16.2.5 向菜单中添加图像 556

16.2.6 创建复选框菜单项 558

16.2.7 创建单选按钮菜单项 561

16.2.8 创建子菜单 563

16.2.9 创建加速键和助记符 565

16.2.10 在运行时启用/禁用菜单项和改变标题 567

16.2.11 在运行时添加和删除菜单项 570

16.2.12 向菜单中添加按钮和其他控件 572

16.2.13 创建弹出菜单 574

16.2.14 创建工具条 577

16.2.15 向工具条中添加组合框和其他控件 580

第17章 Swing: 窗口、桌面板、内部框架和对话框 583

17.1 深入讲解 583

17.1.1 窗口 583

17.1.2 对话框 584

17.2 即时解决方案 584

17.2.1 创建窗口 584

17.2.2 创建框架窗口 587

17.2.3 创建桌面板 588

17.2.4 创建内部框架 590

17.2.5 使用JOptionPane创建对话框 596

17.2.6 创建选项板确认对话框 601

17.2.7 创建选项板消息对话框 602

17.2.8 创建选项板文本域输入对话框 604

17.2.9 创建选项板组合框输入对话框 606

17.2.10 创建选项板内部框架对话框 608

17.2.11 使用JDialog创建对话框 609

17.2.12 从使用JDialog创建的对话框得到输入 612

第18章 Swing: 表格和树 615

18.1 深入讲解 615

18.1.1 表格 615

18.1.2 树 615

18.2 即时解决方案 616

18.2.1 创建表格 616

18.2.2 在运行时向表格中添加行和列 626

18.2.3 向表格中添加控件和图像 629

18.2.4 创建树 631

18.2.5 向树中添加数据 637

18.2.6 处理树事件 639

18.2.7 编辑树节点 640

第19章 Swing: 文本组件 643

19.1 深入讲解 643

19.1.1 文本域 643

19.1.2 口令域 643

19.2.1 创建Swing文本组件: JText Component类 644

19.2 即时解决方案 644

19.1.4 编辑器板 644

19.1.5 文本板 644

19.1.3 文本区域 644

19.2.2 创建文本域 647

19.2.3 设置文本域对齐方式 647

19.2.4 滚动文本域 650

19.2.5 创建口令域 651

19.2.6 创建文本区域 654

19.2.7 创建编辑器板 656

19.2.8 在编辑器板中使用HTML 660

19.2.9 向编辑器板中添加超链接 662

19.2.10 在编辑器板中使用RTF文件 664

19.2.11 创建文本板 666

19.2.12 在文本板中插入图像和控件 668

19.2.13 设置文本板文本属性 669

第20章 I/O流和文件 673

20.1 深入讲解 673

20.2.1 使用File类 674

20.2 即时解决方案 674

20.2.2 使用InputStream 677

20.2.3 使用OutputStream 678

20.2.4 使用FileInputStream 678

20.2.5 使用FileOutputStream 680

20.2.6 使用ByteArrayInputStream 682

20.2.7 使用ByteArrayOutputStream 683

20.2.8 使用BufferedInputStream 685

20.2.9 使用BufferedOutputStream 687

20.2.10 使用RandomAccessFile 687

20.2.11 使用Reader 689

20.2.12 使用Writer 690

20.2.13 键盘输入: 使用InputStreamReader 690

20.2.14 使用OutputStreamWriter 691

20.2.15 使用FileReader 692

20.2.16 使用FileWriter 693

20.2.17 使用CharArrayReader 694

20.2.18 使用CharArrayWriter 695

20.2.19 使用BufferedReader 696

20.2.20 使用BufferedWriter 698

20.2.21 使用PushbackReader 698

20.2.22 使用StreamTokenizer 699

20.2.23 使用串行化 700

20.2.24 使用剪贴板 704

20.2.25 使用打印机 705

21.1 深入讲解 706

第21章 集合 706

21.1.1 集合接口 707

21.1.2 集合类 707

21.1.3 映射类 707

21.1.4 映射类 707

21.2 即时解决方案 708

21.2.1 使用Collection接口 708

21.2.2 使用List接口 708

21.2.3 使用Set接口 709

21.2.5 使用AbstractCollection类 710

21.2.4 使用SortedSet接口 710

21.2.6 使用AbstractList类 711

21.2.7 使用AbstractSequentialList类 712

21.2.8 使用ArrayList类 712

21.2.9 使用LinkedList类 714

21.2.10 使用HashSet类 716

21.2.11 使用TreeSet类 717

21.2.12 使用Comparator接口 719

21.2.13 使用Iterator接口 720

21.2.14 使用ListIterator接口 721

21.2.15 使用AbstractMap类 723

21.2.16 使用HashMap类 723

21.2.17 使用TreeMap类 725

21.2.18 使用Arrays类 726

21.2.19 使用Enumeration接口 729

21.2.20 使用Vector类 729

21.2.21 使用Stack类 732

21.2.22 使用Dictionary类 733

21.2.23 使用Hashtable类 734

21.2.24 使用Properties类 735

第22章 多线程编程和动画 738

22.1 深入讲解 738

22.2 即时解决方案 740

22.2.1 得到主线程 740

22.2.2 命名线程 740

22.2.4 用Runnable接口创建线程 741

22.2.3 暂停线程 741

22.2.5 用Thread类创建线程 743

22.2.6 创建多线程 746

22.2.7 等待线程 748

22.2.8 检查线程是否是活跃的 749

22.2.9 设置线程优先级以及停止线程 751

22.2.10 为什么要使用同步 753

22.2.11 同步代码块 755

22.2.12 同步方法 756

22.2.13 线程之间的通信 758

22.2.14 挂起和恢复线程 760

22.2.15 用线程创建图形动画 762

22.2.16 消除图形动画中的闪烁 764

22.2.17 挂起和恢复图形动画 766

22.2.18 双缓冲 768

第23章 创建包、接口、JAR文件和Java bean 770

23.1 深入讲解 770

23.1.1 创建包和接口 770

23.1.3 Java bean 771

23.1.2 JAR文件 771

23.2 即时解决方案 772

23.2.1 创建包 772

23.2.2 创建具有子包的包 773

23.2.3 创建接口 774

23.2.4 部分实现接口 775

23.2.5 创建JAR文件 776

23.2.9 在代码中读取JAR文件 778

23.2.8 更新JAR文件 778

23.2.6 得到JAR文件的内容 778

23.2.7 从JAR文件中提取文件 778

23.2.10 使用javac从JAR文件中得到类 781

23.2.11 让applet从JAR文件中得到类 782

23.2.12 使用Java bean设计程序 783

23.2.13 创建使用Java bean的applet 786

23.2.14 创建Java bean 787

23.2.15 创建bean货单文件 789

23.2.16 创建bean JAR文件 789

23.2.17 使用新的bean 790

23.2.18 在bean中添加控件 790

23.2.19 给bean添加属性 793

23.2.20 创建绑定属性 800

23.2.21 给bean添加方法 800

23.2.22 给bean添加图标 802

24.1 深入讲解 804

24.1.1 异常处理 804

第24章 异常处理、调试和连网 804

24.1.2 调试 805

24.1.3 连网 805

24.2 即时解决方案 806

24.2.1 捕获异常 806

24.2.2 嵌套try语句 809

24.2.3 抛出异常 809

24.2.4 创建定制的异常 810

24.2.5 调试Java程序 811

24.2.6 设置applet安全策略 814

24.2.7 使用URL对象 817

24.2.8 使用URLConnection对象 818

24.2.9 创建和使用套接字 821

24.2.10 创建TCP客户和服务器 823

24.2.11 从Java提交HTML表单 825

24.2.12 使用Java数据库连接(JDBC) 827

24.2.13 创建Java servlet 835