《Java面向对象程序设计 第2版》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:袁绍欣,安毅生,葛玮等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302280354
  • 页数:420 页
图书介绍:本书的内容大体可分为三个部分。第1章到第7章为第一部分,着重介绍Java面向对象的基本知识点,主要有Java的基本环境、Java语言基础、Java工程规范、面向对象基本概念、基本特征、概念深化、异常处理等,读者通过这部分的学习可以用Java语言建立起面向对象思维的能力,其中第4~6章是本部分的重点;第8章到第16章为第二部分,着重介绍Java语言的应用,主要有Java常用类库与工具、线程、集合类框架、AWT与Swing图形用户界面、输入输出、网络通信、JDBC,读者通过这部分的学习可以了解Java工程应用的基础知识,其中第8~10章以及第14、16章是本部分的重点;第17章到第20章为第三部分,着重介绍Java软件体系结构设计,主要有UML、设计模式、软件框架和分布式对象技术,读者通过这部分可以掌握和了解进行软件结构设计时需要用到的模型表达方式、设计思想、框架编程思维和分布式软件设计的主要方法。

第1章 初次接触Java 1

1.1 Java语言——网络时代的编程语言 1

1.1.1 网络时代编程问题 1

1.1.2 问题的解决方法 1

1.2 Java语言的特点 2

1.3 Java程序的编译环境和执行环境 4

1.4 第一个Java程序——Hello World 4

1.5 Java程序的分类 6

1.6 Java平台 8

小结 8

习题 9

第2章 Java语言基础 10

2.1 数据类型 10

2.1.1 标识符和保留字 10

2.1.2 数据类型概括 10

2.1.3 基本数据类型简介 12

2.1.4 数据类型转换 14

2.1.5 基本数据类型及其对应的包装类 15

2.2 表达式 16

2.2.1 算术表达式 16

2.2.2 关系表达式 18

2.2.3 逻辑表达式 19

2.2.4 赋值表达式 20

2.2.5 条件表达式 21

2.2.6 运算符优先级 21

2.3 控制语句 22

2.3.1 分支语句 22

2.3.2 循环语句 24

2.3.3 跳转语句 26

2.4 数组 28

2.4.1 一维数组 28

2.4.2 二维数组 30

小结 33

习题 33

第3章 Java程序工程规范 35

3.1 为什么要有规范 35

3.2 Java程序编程规范 35

3.3 帮助文档的自动生成 35

小结 37

习题 37

第4章 面向对象(上) 38

4.1 抽象的含义 38

4.2 类与对象 38

4.3 类的域(属性)与方法(操作) 39

4.4 对象 41

4.4.1 对象的创建 41

4.4.2 对象作为参数的特点 43

4.4.3 对象数组 45

4.4.4 数组对象特点及常用方法 45

4.5 构造方法 47

4.5.1 构造方法的概念 47

4.5.2 构造方法的特征 47

4.5.3 构造方法赋值的注意事项 48

4.5.4 finalize方法与垃圾回收 49

4.6 类成员属性和方法的非访问修饰符 50

4.6.1 static 50

4.6.2 abstract 53

4.6.3 final 53

4.6.4 native修饰的本地方法 53

4.7 包 53

小结 57

习题 57

第5章 面向对象(中) 59

5.1 面向对象的特征 59

5.2 封装 59

5.2.1 封装的概念 59

5.2.2 访问控制权限 60

5.2.3 消息 64

5.2.4 封装与组合的设计用途 66

5.3 继承 66

5.3.1 继承的概念 66

5.3.2 Object类 69

5.3.3 最终类 70

5.3.4 继承的设计用途 70

5.4 类的多态 70

5.4.1 多态的概念 70

5.4.2 重载 70

5.4.3 覆盖 71

5.4.4 多态的设计用途 73

小结 73

习题 73

第6章 面向对象(下) 74

6.1 this与super 74

6.1.1 this的用法 74

6.1.2 super的用法 75

6.2 构造方法的多态 77

6.2.1 构造方法的重载 77

6.2.2 构造方法的继承调用 78

6.2.3 子类对象实例化过程 79

6.3 抽象类 82

6.3.1 抽象类的概念 82

6.3.2 抽象类的设计用途 82

6.4 接口 87

6.4.1 接口的含义 87

6.4.2 接口的作用 88

6.4.3 接口实现与使用 88

6.4.4 接口的设计用途 90

6.4.5 接口在Java事件处理机制中的应用 90

6.5 抽象类与接口比较 94

6.6 引用 94

6.6.1 引用要点 94

6.6.2 引用比较 96

6.6.3 引用案例 98

6.7 类的其他相关内容 100

6.7.1 类的完整定义形式 100

6.7.2 内部类 100

6.7.3 匿名内部类 103

6.7.4 匿名对象 105

6.7.5 特殊的类——类对象 105

小结 105

习题 106

第7章 异常 108

7.1 异常的含义 108

7.2 异常分类 108

7.3 异常处理 110

7.4 自定义异常与异常对象的创建 115

小结 116

习题 116

第8章 Java常用类库与工具 119

8.1 Java类库概述 119

8.2 String与StringBuffer 121

8.2.11 String 121

8.2.2 StringBuffer 125

8.2.3 StringBuffer与String的相互转化 126

8.3 系统类与时间类 127

8.3.1 System类 127

8.3.2 Runtime类 129

8.3.3 Date类 129

8.3.4 Calendar类 129

8.4 格式化类 130

8.4.1 格式化数字 130

8.4.2 格式化日期 131

小结 131

习题 131

第9章 线程 133

9.1 线程的概念 133

9.1.1 Thread类 133

9.1.2 Runnable接口 134

9.1.3 多线程并发效果 135

9.1.4 创建线程的两种方法比较 136

9.1.5 线程组ThreadGroup 137

9.1.6 volatile修饰符 138

9.2 线程的控制与调度 138

9.2.1 线程的生命周期 138

9.2.2 线程状态的改变 139

9.2.3 线程调度与优先级 141

9.3 线程的同步机制 142

9.3.1 线程安全问题的提出 142

9.3.2 线程同步 143

9.3.3 死锁问题 145

9.4 线程间的同步通信 146

9.4.1 同步通信问题的提出和解决 146

9.4.2 notifyAll() 148

9.5 线程应用场景 150

小结 150

习题 150

第10章 集合类 151

10.1 集合类的概念 151

10.2 集合类接口 152

10.2.1 Collection接口 152

10.2.2 遍历接口 153

10.2.3 Map接口类型 155

10.2.4 排序接口Comparator 156

10.3 常用集合类 157

10.3.1 常用集合类比较 158

10.3.2 特殊集合类StringTokenizer与Bitset 159

10.3.3 集合类初始容量设置 160

10.3.4 Collections类 160

10.3.5 枚举类 161

10.4 集合类与集合接口应用 161

小结 167

习题 167

第11章 Applet程序 168

11.1 Applet基本概念 168

11.2 Applet类 168

11.3 Applet标记 170

11.4 Applet其他功能 171

小结 173

习题 173

第12章 AWT图形用户界面 174

12.1 AWT基本元素 174

12.1.1 容器 174

12.1.2 组件 177

12.1.3 MenuComponent 182

12.2 组件在容器中位置的确定 184

12.2.1 容器坐标系方式确定组件位置 184

12.2.2 布局管理器方式确定组件位置 185

12.3 AWT事件模型 191

12.3.1 层次事件模型 191

12.3.2 委托事件模型 191

12.3.3 监听接口实现的四种方式 196

12.3.4 事件对象 199

12.3.5 事件触发原理 200

12.4 AWT图形图像处理 201

12.4.1 概述 201

12.4.2 Graphics对象 202

12.4.3 双缓存技术 205

小结 206

习题 206

第13章 Swing图形用户界面 208

13.1 Swing简介 208

13.2 Swing组件与容器 209

13.2.1 JComponent组件及其子类 209

13.2.2 Swing容器 210

13.2.3 Swing事件处理 211

13.2.4 Swing程序案例 213

小结 216

习题 216

第14章 I/O输入/输出 217

14.1 数据流的基本概念 217

14.1.1 流的分类 217

14.1.2 Java标准输入/输出流 218

14.2 字节流与字符流 219

14.2.1 字节流 219

14.2.2 字符流 222

14.2.3 字节流与字符流的相互转化 223

14.3 文件操作 223

14.4 流的装配与串行化 230

小结 234

习题 234

第15章 Java网络通信 235

15.1 网络编程基本概念 235

15.1.1 网络通信协议 235

15.1.2 网络应用定位 236

15.1.3 TCP和UDP比较 236

15.2 基于URL的高层次Java网络编程 237

15.3 基于Socket套接字的低层次Java网络编程 241

15.3.1 Socket通信的基本概念 241

15.3.2 Socket通信结构 242

15.3.3 Socket通信案例 244

15.4 基于数据报的低层次Java网络编程 248

15.4.1 数据报通信的基本概念 248

15.4.2 数据报通信对象 249

15.4.3 数据报通信案例 250

小结 251

习题 252

第16章 JDBC 253

16.1 JDBC基本概念 253

16.2 使用JDBC操作数据库 255

16.3 不同数据库JDBC的连接方法 260

小结 261

习题 261

第17章 UML简介 263

17.1 UML的含义 263

17.1.1 UML“统一”的含义 263

17.1.2 UML“建模”的含义 264

17.1.3 UML“语言”的含义 264

17.1.4 UML特点 265

17.1.5 UML建模工具 265

17.2 UML视图(View) 271

17.3 UML图 271

17.3.1 UML图的基本概念 271

17.3.2 图的类型 272

17.3.3 UML视图与图 272

17.3.4 UML图的演化逻辑关系 273

17.4 用例图 274

17.5 类图及对象图 276

17.5.1 类模型元素 276

17.5.2 对象模型元素 277

17.5.3 泛化 277

17.5.4 关联 278

17.5.5 关联类型 280

17.5.6 四种特殊的关联 282

17.5.7 关联与链接 283

17.5.8 接口及其实现表示 283

17.5.9 依赖关系 284

17.6 顺序图 285

17.7 协作图 286

17.8 活动图 288

17.9 状态图 289

17.10 构件图 289

17.11 部署图 290

17.12 案例1 仓库管理系统 291

17.12.1 需求说明 291

17.12.2 需求1~3的设计 291

17.12.3 需求4的设计 293

17.12.4 需求5的设计 295

17.12.5 案例小结 296

17.13 案例2 图形编辑器 296

17.13.1 需求说明 296

17.13.2 概要设计 298

17.13.3 图形编辑器代码实现 311

小结 324

习题 325

第18章 设计模式 326

18.1 概念 326

18.2 GoF模式简介 326

18.3 模式原则 328

18.3.1 开闭原则 328

18.3.2 组合/聚合复用原则 330

18.3.3 强(高)内聚弱(松)耦合原则 331

18.4 创建型设计模式 332

18.4.1 抽象工厂 332

18.4.2 生成器 333

18.4.3 工厂方法 335

18.4.4 原型 335

18.4.5 单件 336

18.5 结构型设计模式 336

18.5.1 适配器 337

18.5.2 桥接 338

18.5.3 组成 339

18.5.4 装饰模式 339

18.5.5 外观 340

18.5.6 享元 341

18.5.7 代理 342

18.6 行为型设计模式 342

18.6.1 职责链 343

18.6.2 命令 343

18.6.3 解释器 344

18.6.4 迭代器 345

18.6.5 中介者 346

18.6.6 备忘录 347

18.6.7 观察者 347

18.6.8 状态 349

18.6.9 策略 350

18.6.10 模板方法 350

18.6.11 访问者 351

小结 352

习题 353

第19章 软件框架 354

19.1 基本概念 354

19.1.1 软件框架定义 354

19.1.2 软件框架与设计模式比较 355

19.1.3 Java应用框架 355

19.1.4 软件框架与应用的控制关系 356

19.2 Struts1框架 356

19.2.1 MVC结构 356

19.2.2 Struts1结构 357

19.2.3 Struts1应用案例 359

19.2.4 Struts1评价 366

19.3 Struts2框架 367

19.3.1 Struts2框架结构 367

19.3.2 Struts2与Struts1的对比 369

19.3.3 Struts2案例 371

小结 376

习题 376

第20章 软件体系结构与分布式对象技术 377

20.1 软件体系结构 377

20.1.1 概述 377

20.1.2 客户/服务器结构 377

20.1.3 浏览器/服务器结构 378

20.1.4 客户端类型 378

20.2 分布式软件系统 381

20.2.1 概述 381

20.2.2 中间件 382

20.2.3 消息中间件 383

20.3 分布式对象技术 388

20.3.1 概述 388

20.3.2 CORBA 388

20.3.3 Microsoft的COM+ 391

20.3.4 Java的分布式对象技术 392

20.4 RMI 392

20.4.1 概述 392

20.4.2 RMI通信方式 393

20.4.3 RMI通信架构 394

20.4.4 RMI案例 395

20.5 JNDI 400

20.5.1 概述 400

20.5.2 命名服务 400

20.5.3 目录服务 400

20.5.4 JNDI的构成 401

20.5.5 JNDI案例 403

20.6 Web Service 407

20.6.1 概述 407

20.6.2 Web Service结构层次 408

20.6.3 WSDL信息结构 409

20.6.4 SOAP信息结构 411

20.6.5 Web Service的通信方式 411

20.6.6 UDDI 412

20.6.7 Web Service服务器端部署 413

20.6.8 Web Service案例 414

小结 419

习题 419

参考文献 420