图书目录

11.1什么是Java语言1

1.1.1Java语言的特点1

1.1.2Java的三层架构3

1.1.3Java语言的目标3

1.1.4Java虚拟机3

1.1.5垃圾收集4

1.1.6代码安全5

1.2一个基本的Java应用程序6

1.3程序的编译和运行8

1.3.1编译8

1.3.2运行9

1.4常见错误9

1.4.1编译时错误9

1.4.2运行时错误10

1.5使用Java核心API文档11

习题13

标识符、关键字和数据类型

142.1Java的基本语法单位14

2.1.1空白、注释及语句14

2.1.2关键字15

2.1.3标识符16

2.2Java编码体例16

2.3Java的基本数据类型17

2.3.1基本数据类型17

2.3.2类型转换20

2.3.3变量、说明和赋值20

2.4复合数据类型21

2.4.1概述21

2.4.2复合数据类型21

2.5类和对象的初步介绍22

2.5.1Java的面向对象技术22

2.5.2Java的类定义23

2.5.3与OOP有关的关键字24

2.5.4类定义示例26

2.5.5创建一个对象29

2.5.6引用变量的赋值30

2.5.7默认初始化和null引用值31

2.5.8术语概述31

习题32

表达式和流控制

333.1表达式33

3.1.1操作数33

3.1.2运算符36

3.1.3表达式的提升和转换38

3.2流控制39

3.2.1表达式语句40

3.2.2块40

3.2.3分支语句40

3.2.4循环语句44

3.2.5特殊的流控制语句46

习题48

数组和字符串

504.1数组50

4.1.1数组说明50

4.1.2创建数组50

4.1.3数组边界52

4.1.4数组初始化52

4.1.5多维数组53

4.1.6数组拷贝55

4.2字符串类型56

4.2.1字符串概述56

4.2.2字符串说明及初始化56

4.2.3字符串处理57

4.2.4几个特殊处理58

习题60

对象和类的进一步介绍

625.1抽象数据类型62

5.1.1抽象数据类型概述62

5.1.2定义方法63

5.1.3按值传送66

5.1.4this引用68

5.1.5数据隐藏68

5.1.6封装70

5.2重载方法名70

5.3对象的构造和初始化71

5.3.1显式成员初始化71

5.3.2构造方法71

5.3.3默认构造方法72

5.3.4finalize方法72

5.4子类73

5.4.1“is a”关系73

5.4.2extends关键字73

5.4.3单重继承74

5.4.4多态性74

5.4.5方法的参量和异类集合75

5.4.6instanceof运算符75

5.4.7转换对象76

5.5覆盖方法77

5.6Java包80

5.6.1Java包的概念80

5.6.2import语句81

5.6.3目录层次关系及CLASSPATH环境变量82

习题82

Java语言中的异常

846.1异常84

6.2异常示例84

6.3异常处理85

6.3.1try,catch和finally语句85

6.3.2再讨论前面的示例86

6.3.3公共异常87

6.4异常分类88

6.5抛出88

6.6创建自己的异常89

习题90

Java的图形用户界面设计

927.1创建图形用户界面93

7.1.1容器和组件93

7.1.2组件的定位93

7.1.3组件的大小93

7.2框架93

7.2.1创建一个简单的框架93

7.2.2运行程序94

7.3面板94

7.4布局96

7.5一个简单的例子96

7.6布局管理器98

7.6.1FlowLayout布局管理器98

7.6.2BorderLayout布局管理器99

7.6.3GridLayout布局管理器101

7.6.4CardLayout布局管理器103

7.6.5其他布局管理器105

7.7容器105

7.7.1框架105

7.7.2面板105

7.7.3创建面板和构造复杂布局106

习题107

AWT事件模型

1088.1JDK1.0和JDK1.1事件模型108

8.1.1JDK1.0的层次模型108

8.1.2JDK1.1的委托模型112

8.2Java GUI工作情况113

8.2.1事件的种类113

8.2.2一个较复杂的例子114

8.2.3多监听程序117

8.3事件适配器117

习题118

AWT组件库

1209.1按钮120

9.2复选框122

9.3复选框组——单选按钮124

9.4选择框126

9.5画布128

9.6标签130

9.7文本域131

9.8文本区132

9.9文本组件134

9.10列表134

9.11框架136

9.12面板137

9.13对话框137

9.14文件对话框139

9.15菜单组件141

9.15.1菜单栏142

9.15.2菜单142

9.15.3菜单项143

9.15.4带复选项的菜单项144

9.15.5弹出式菜单147

9.16控制组件外观149

9.16.1颜色149

9.16.2字体149

9.17打印151

习题151

Java Applet

15410.1编写Applet155

10.2Applet的方法和Applet的生命周期156

10.3Applet的显示与刷新157

10.4appletviewer158

10.5HTML与〈applet〉标记159

10.6Applet参数的读取160

10.7Applet与URL161

10.8在Applet中显示图像162

10.9在Applet中播放声音163

10.10Applet的事件处理165

10.11Applet与普通应用程序的结合166

习题168

Java语言的深入理解

16911.1方法覆盖169

11.1.1方法覆盖的概念169

11.1.2应用覆盖的规则170

11.2构造方法覆盖171

11.3父类构造方法调用172

11.4类成员173

11.4.1类变量173

11.4.2类方法175

11.5关键字final176

11.5.1终极类176

11.5.2终极方法177

11.5.3终极变量177

11.6抽象类179

11.7接口180

11.7.1接口的定义181

11.7.2接口的实现181

11.8过时信息182

11.9内部类185

11.9.1内部类的概念185

11.9.2匿名类186

11.9.3内部类的工作方式187

11.10Vector类188

11.10.1概述188

11.10.2Vector类的构造方法188

11.10.3Vector类中的变量189

11.10.4Vector类中的方法189

11.10.5Vector类的使用举例189

习题191

Java数据流

19212.1数据流的基本概念192

12.1.1输入数据流192

12.1.2输出数据流193

12.2基本数据流类194

12.2.1文件数据流194

12.2.2缓冲区数据流194

12.2.3数据数据流195

12.2.4管道数据流196

12.2.5对象流197

12.3其他相关类198

12.3.1URL输入数据流198

12.3.2读者和写者199

12.3.3缓冲区读者和缓冲区写者199

12.4文件的处理200

12.4.1File类200

12.4.2随机访问文件202

12.5可持续性203

12.5.1持续化的概念203

12.5.2对象结构表203

习题204

线程

20513.1线程和多线程205

13.1.1线程的概念205

13.1.2线程的结构206

13.2创建线程206

13.2.1创建线程的方法一——继承Thread类206

13.2.2创建线程的方法二——实现

Runnable接口 206

13.2.3关于两种创建线程方法的讨论208

13.3线程的启动208

13.4线程的调度208

13.5线程的基本控制210

13.5.1结束线程210

13.5.2检查线程211

13.5.3挂起线程211

13.6同步问题212

13.6.1问题的提出212

13.6.2对象的锁定标志214

13.6.3同步方法215

13.7死锁216

13.8线程交互——wait()和notify()218

13.8.1问题的提出218

13.8.2解决方法218

13.9综合应用实例220

习题224

Java的网络功能

22614.1概述226

14.2URL——统一资源定位器227

14.2.1URL的概念227

14.2.2URL的构造方法227

14.2.3与URL相关的异常228

14.2.4获取URL对象属性228

14.2.5读入URL数据229

14.3socket接口231

14.3.1socket的基本概念231

14.3.2socket通信的基本步骤232

14.3.3socket通信的程序设计232

14.4Java编程综合实例234

习题243

附录AGridBagLayout布局管理器244

A.1概述244

A.2GridBagLayout的功能244

A.3GridBagConstraints的使用245

A.4GridBagConstraints的实例变量245

A.5GridBagConstraints应用实例246

附录B本机方法的使用251

B.1定义本机方法251

B.2调用本机方法252

B.3javah工具252

B.4本机方法的C函数代码252

B.5集成254

B.6向本机方法传递信息254

B.7访问对象数据成员255

B.8访问字符串256

B.9本机方法应用小结258

参考文献259