解析Java程序设计

解析Java程序设计"

作者:甘玲等
ISBN:9787302136217
定价:¥29.50
字数:千字
页数:
出版时间:2006.09.01
开本:
版次:1-2
装帧:
出版社:清华大学出版社
简介

    本书旨在通过实例解析的方式全面而深入地介绍Java语言的特点及其面向对象的特性,不但详细介绍了Java语言本身,而且讨论了面向对象的设计思想和编程方法、UML、图形用户界面的编程方法、网络和数据库程序的编程方法、线程的使用等实用开发技术。

    全书共分10章,第1、2章是基础部分,介绍了面向对象的基本概念和相关技术,并对Java语言进行了概述。第3~5章是核心部分,主要介绍Java面向对象技术,围绕抽象性、封装性、继承性、多态性以及I/O、异常等内容由浅入深地展开讨论。第6~10章是应用部分,主要介绍运用Java语言及其类库在J2SE平台下进行图形用户界面编程、网络编程、数据库编程、编写常用数据结构等内容。

    本书层次清晰、内容全面、例题丰富、实用性强,全书基础性和实用性并重。本书不仅能使读者掌握Java语言,而且能够让读者对现实世界中较简单的问题及其解决方法用计算机语言进行描述。本书适合作为大专院校计算机相关专业的教材及自学Java语言的参考书,也可供计算机技术人员参阅。

前言

丛  书  序

长久以来,计算机语言教育界内一直存在一个缺憾。在计算机程序设计教学过程中,可供读者选择的优秀著作如此之多,其中大部分出自于业界的泰山北斗。我们可以欣喜地从这些著作中感受到学术的源变,欣赏到学者的风采,然而遗憾的是,这些著作的章节安排和行文叙述更适合研讨和参考,却不容易走进课堂。与之相反的是,国内的程序设计教材注重知识的整合和安排,条理清楚,便于教学,却又缺少对知识的发现过程和问题来龙去脉的分析,而这正是国外同类书籍最突出的闪光点,也正是教学的真正意义所在。

出版这套“解析法”系列教材的目的就是为了弥补这一缺憾。“解析法”是指从实际问题入手,剖析求解问题的关键点(知识的发现过程),然后结合问题讲解相应知识点,最后得出问题的求解办法并举一反三。读者可以从本套教材中看到解析法贯穿于始终,每一章节的开始都提出了一个具体的问题,并对问题做出分析,根据分析引出相应的知识点,层层推进,并在每章的最后给出该问题的实现,这样更符合学习者的思维方式以及程序设计课程的特点。更重要的是,解析的目的不仅在于讲授知识,更注重培养学习者独立发现问题、分析问题、解决问题的能力和进行知识迁移的能力。这些能力是每个程序开发人员都应具备的。

此外,本系列教材包含大量具有实际意义的例题、思考题和习题,具有较强的启发性,便于教学和自学。本系列教材对高等院校计算机专业以及相关专业做好程序设计的教学工作有重要作用。我们相信,本系列教材的出版会进一步推动我国教育教学改革特别是计算机基础教学改革的步伐。

计算机基础课程解析法

系列教材编委会

2006年6月

面向对象技术已发展成为一种比较成熟的编程思想,并且逐步成为目前软件开发领域的主流技术。这种技术从根本上改变了人们以往设计软件的思维方式,它集抽象性、封装性、继承性和多态性于一体,实现了代码重用和代码扩充,提高了软件开发的效率。

Java为面向对象技术提供了全面支持,也是最常用的一种面向对象程序设计语言,目前已经应用于桌面应用程序、嵌入式移动应用、企业级服务器应用程序等各个应用领域中,当前,高等院校计算机专业和相关专业都开设了该课程,其目的是为了让学生掌握面向对象程序设计的概念和方法,深刻理解面向对象程序设计的本质,并用面向对象技术来编写程序、开发软件。根据笔者的教学经验,就该课程而言,很多教材基本都以将课程主要内容按照一定的结构分章节整理、详细描述其知识点这样的思路来编写,这种结构对学生掌握知识点有益处,学生也习惯这种结构,对一些知识点容易以死记硬背的方式来学习,但往往学后不能灵活运用所学知识来解决问题。

基于教学过程的实践和思考,我们产生了编写本书的想法,力图弥补传统教材的不足,在本书中采用实例解析的方式,从典型问题入手,在分析和解决问题的过程中向读者解释新遇到的编程元素和相关知识,使实例和知识点紧密结合,更适合学生的认知规律和计算机程序设计课程的特点,以便更好地实现教学目标。

全书共分10章,第1、2章是基础部分,介绍了面向对象技术的基本概念和相关技术,

并对Java语言进行了概述。第3~5章是本书的核心,主要介绍Java面向对象技术部分,

强调面向对象技术的原理,主要以抽象性、封装性、继承性、多态性等面向对象技术特     征为线索,结合具体实例进行解析,展开对Java的讨论,为Java语言的应用奠定基础。      第6~10章是应用部分,同样在每一章中结合实例解析来分别介绍图形用户界面编程、网络编程、数据库编程、常用数据结构等内容。本书精选了大量的例题,并且都在JDK1.5环境下调试通过。书后的附录提供了Java语法摘要、Java标准包介绍、JDK使用介绍、常用Java开发工具介绍、UML简介等内容,供读者在学习时查阅。

本书由甘玲(编写第1、2章及附录E)、张璞(编写第4、7、10章)主编。参加本书编写工作的还有李兴春(编写第5、8章)、唐晓军(编写第3、9章)、李盘林(编写第6章及附录C)、冯潇(编写附录A、B、D)。全书由甘玲、张璞统稿和校稿。感谢本书所列参考文献的作者!

由于作者水平有限,加之时间仓促,错误与疏漏之处在所难免,恳请读者批评指正。在使用本书时如遇到什么问题需要与作者联系,或者想索取本书例题的源代码与电子讲稿,请与作者联系,联系方式:ganling@cqupt.edu.cn。

编者

2006年6月

目录

目    录

第1章  面向对象技术概述 1

1.1  面向对象技术的发展 1

1.2  面向对象方法与结构化方法的比较 2

1.2.1  现实问题分析 2

1.2.2  面向对象方法的优越性 3

1.2.3  面向对象与面向过程的不同 4

1.2.4  面向对象技术的基本观点 4

1.3  面向对象技术的基本概念 5

1.3.1  对象和类 5

1.3.2  事件和消息 7

1.4  面向对象技术的基本特征 8

1.4.1  抽象性 8

1.4.2  封装性 9

1.4.3  继承性 10

1.4.4  多态性 11

1.5  面向对象分析与设计简介 11

1.6  面向对象程序设计语言简介 12

1.7  面向对象的UML描述 15

本章小结 17

习题 17

第2章  Java语言基础 18

2.1  一个最简单的Java应用程序 18

2.1.1  问题的提出与分析 18

2.1.2  main方法的说明 19

2.1.3  程序的编译与运行 20

2.2  Java语言编程基础 20

2.2.1  问题的提出与分析 21

2.2.2  常量和变量 21

2.2.3  基本数据类型 23

2.2.4  运算符和表达式 24

2.2.5  类型转换 26

2.2.6  问题的解决 28

2.3  控制语句 29

2.3.1  问题的提出与分析 29

2.3.2  选择语句 29

2.3.3  循环语句 35

2.3.4  特殊的循环流程控制 38

2.4  类和对象的创建和使用 42

2.4.1  问题的提出与分析 42

2.4.2  类的定义 42

2.4.3  对象的生成 44

2.4.4  对象的使用 45

2.5  数组的使用 46

2.5.1  问题的提出与分析 47

2.5.2  一维数组的创建 47

2.5.3  一维数组的使用 48

2.5.4  二维数组的创建 49

2.5.5  二维数组的使用 50

2.6  字符串的使用 51

2.6.1  问题的提出与分析 51

2.6.2  String类的介绍 52

2.6.3  问题的解决 54

2.6.4  对象转化为字符串 56

2.7  包 57

2.7.1  什么是包 57

2.7.2  包的定义 58

2.7.3  包的引用 59

2.7.4  常用的Java标准包 59

2.7.5  程序结构 60

2.8  应用举例 60

本章小结 63

习题 63

第3章  对象与类 66

3.1  问题的提出与分析 66

3.2  发现对象和类 67

3.3  类的设计 68

3.3.1  成员变量和方法 68

3.3.2  方法的重载 74

3.3.3  类的访问控制 75

3.3.4  成员的访问控制 77

3.4  类的构造方法 80

3.4.1  成员初始化 80

3.4.2  构造方法的重载 81

3.4.3  默认构造方法 82

3.4.4  this关键字 83

3.4.5  对象的赋值和比较 84

3.5  静态成员 86

3.5.1  静态成员变量 87

3.5.2  静态成员方法 89

3.6  基本的输入输出 90

3.7  问题的解决 92

本章小结 99

习题 99

第4章  继承和多态 103

4.1  问题的提出与分析 103

4.2  类的继承 104

4.2.1  子类的定义 104

4.2.2  子类的构造方法 106

4.2.3  方法的覆盖和成员变量的隐藏 109

4.2.4  子类对象和父类对象间的转换 112

4.3  抽象类和接口 115

4.3.1  抽象类的定义 115

4.3.2  什么是接口 117

4.3.3  接口的定义 118

4.3.4  接口的实现 119

4.4  final类和final方法 122

4.5  多态 122

4.6  问题的实现 127

4.6.1  定义商品类层次 127

4.6.2  定义职工类层次 129

4.6.3  商品列表类的实现 131

4.6.4  顾客类层次的实现 133

4.6.5  销售事件类和销售事件列表类的实现 134

4.6.6  类层次功能的测试 136

4.6.7  功能的进一步扩充 137

本章小结 137

习题 138

第5章  输入输出流和异常 141

5.1  问题的提出与分析 141

5.2  输入输出流 143

5.2.1  流的概念 143

5.2.2  输入输出流类层次 144

5.2.3  字节流 151

5.2.4  字符流 157

5.3  异常 160

5.3.1  异常的概念 161

5.3.2  异常的类层次 162

5.3.3  捕获及处理异常 164

5.3.4  自定义异常 168

5.3.5  声明异常和抛出异常 169

5.4  问题的实现 170

本章小结 175

习题 175

第6章  图形用户界面设计 178

6.1  问题的提出与分析 178

6.2  创建图形用户界面 180

6.2.1  AWT与Swing概述 180

6.2.2  容器与组件 180

6.2.3  布局管理器 188

6.3  事件处理 190

6.3.1  JDK的事件处理模型 190

6.3.2  事件监听器 191

6.3.3  事件适配器 194

6.3.4  内部类 194

6.4  绘制图形 195

6.5  问题的实现 196

6.5.1  界面框架的实现 197

6.5.2  鼠标事件的响应及图形画笔粗细设置 202

6.5.3  图形的保存 205

本章小结 207

习题 208

第7章  网络编程 211

7.1  问题的提出与分析 211

7.2  网络的基本概念 212

7.2.1  TCP/IP简介 212

7.2.2  Socket接口 214

7.2.3  客户端/服务器模式 215

7.3  流套接字编程 215

7.3.1  服务器端程序的实现 216

7.3.2  客户端程序的实现 219

7.3.3  编程模型的总结 221

7.4  数据报套接字技术 222

7.4.1  服务器端程序的实现 223

7.4.2  客户端程序的实现 225

7.4.3  编程模型的总结 226

7.5  线程 227

7.5.1  线程的概念 227

7.5.2  线程的创建 228

7.5.3  线程的控制 230

7.5.4  流套接字多线程服务器的实现 231

7.5.5  数据报套接字多线程服务器的实现 233

7.5.6  线程的同步 235

本章小结 238

习题 238

第8章  Applet 240

8.1  问题的提出与分析 240

8.2  Applet简介 241

8.2.1  什么是Applet 241

8.2.2  一个简单的Applet程序 242

8.3  Applet的生命周期 244

8.4  其他常用的方法 247

8.5  Applet的运行 251

8.5.1  HTML与Applet 251

8.5.2  在浏览器中运行Applet程序 252

8.5.3  在appletviewer中运行Applet程序 253

8.5.4  运行Applet的安全性 254

8.6  问题的实现 254

8.6.1  定义Applet的派生类 254

8.6.2  实现Applet周期中的方法 255

8.6.3  线程的实现 257

8.6.4  paint方法的实现 258

8.6.5  鼠标事件处理 259

本章小结 262

习题 262

第9章  JDBC与数据库 265

9.1  问题的提出与分析 265

9.2  数据库基础 266

9.2.1  数据库简介 267

9.2.2  关系数据库 267

9.2.3  SQL简介 268

9.3  JDBC简介 270

9.3.1  引入JDBC的背景及其驱动模型 271

9.3.2  通过JDBC连接数据库 272

9.4  问题的实现 275

9.4.1  建立数据库 275

9.4.2  连接数据库 275

9.4.3  数据库操作 277

本章小结 285

习题 285

第10章  常用数据结构的实现 287

10.1  数据结构简介 287

10.2  单链表 287

10.2.1  单链表的实现 288

10.2.2  单链表的应用(约瑟夫问题的求解) 294

10.3  栈 295

10.3.1  栈的实现 296

10.3.2  栈的应用(数的进制的转换) 297

10.4  队列 298

10.4.1  队列的实现 298

10.4.2  队列的应用(打印杨辉三角形) 299

本章小结 301

习题 301

附录A  Java语法摘要 302

A.1  词法规则 302

A.2  数据类型 304

A.3  运算符 305

A.4  表达式 306

A.5  语句 307

A.6  与OOP有关的关键字 309

A.7  与OOP有关的语法 310

A.8  JDK 1.5增强语法 314

A.9  异常 318

附录B  Java标准包介绍 320

B.1  包的定义 320

B.2  包的引用 320

B.3  标准包列表 321

B.4  常用包的介绍 322

附录C  JDK使用介绍 332

C.1  安装与设置 332

C.2  JDK实用程序工具库简介 333

C.3  编译 333

C.4  运行Application 335

C.5  运行Applet 336

附录D  常用开发工具介绍 338

D.1  Eclipse简介 338

D.2  JBuilder简介 343

附录E  UML简介 351

E.1  UML概述 351

E.2  模型元素的图形表示及其解释 352

E.3  常用的UML图 358

E.4  UML中的四种关系 360

参考文献 362

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个