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

  • 购买积分:12 如何计算积分?
  • 作  者:马迪芳,徐保民,陈旭东编著
  • 出 版 社:北京交通大学出版社;清华大学出版社
  • 出版年份:2009
  • ISBN:9787811235531
  • 页数:330 页
图书介绍:本书以面向对象程序设计思想为核心,详细讲述了面向对象的程序设计的主要技术与编程思路。本书以Java SE 6为基础,全面介绍Java语言的功能和技术特点,主要内容包括Java语言基础知识、面向对象编程技术、UML、异常、断言与日志、输入/输出流、泛型、集合框架、多线程、图形用户界面、网络编程等内容。本书讲解条理清晰,内容丰富,各章配有大量经过调试运行的实例。为了提高读者全面掌握Java面向对象编程技术和综合运用所学知识解决问题的能力,在附录中提供了两人对战的五子棋游戏,包括基本的功能描述和完整的可运行的示例代码,并在相关章节中有配套的练习题。本书适合作为高等院校计算机专业和相关专业的Java程序设计或面向对象程序设计课程的教材,也非常适合专业技术人员参考和阅读。

第1章 Java语言基础 1

1.1 Java概述 1

1.1.1 Java发展历史 1

1.1.2 Java语言的特点 2

1.1.3 简单的Java程序 3

1.1.4 Java运行平台 10

1.2 Java语言基础 10

1.2.1 基本元素 10

1.2.2 简单数据类型 12

1.2.3 枚举类型 13

1.2.4 常量与变量 14

1.2.5 运算符与表达式 14

1.2.6 类型转换 17

1.2.7 流程控制 18

习题 25

第2章 类和对象 26

2.1 类和对象的概念 26

2.2 类的实现 27

2.2.1 类的定义 27

2.2.2 成员变量 28

2.2.3 定义方法 29

2.2.4 构造方法 32

2.3 对象的实现 33

2.3.1 创建对象 33

2.3.2 对象的使用 35

2.3.3 清除对象 36

2.4 封装与信息隐藏 37

2.5 对象间的消息传递 38

2.6 Get和Set方法 39

2.7 方法重载 40

2.8 关键字this 41

2.8.1 对字段使用this关键字 42

2.8.2 构造方法中使用this关键字 42

2.8.3 将当前对象的引用作为参数传给其他对象 43

2.9 类成员和实例成员 44

2.9.1 类变量和实例变量 44

2.9.2 类方法和实例方法 44

2.9.3 类变量和实例变量的初始化 46

2.10 包 49

2.10.1 包的概念 49

2.10.2 创建包 49

2.10.3 引用包 50

2.10.4 包对文件的管理 51

2.11 访问权限控制 52

2.11.1 private 53

2.11.2 包访问控制 54

2.11.3 protected 55

2.11.4 public 55

2.12 嵌套类 56

2.12.1 静态嵌套类 57

2.12.2 内部类 58

2.13 Java程序结构 62

习题 62

第3章 继承和多态 64

3.1 类的继承 64

3.1.1 继承概念 64

3.1.2 继承实现 65

3.1.3 继承的优点 66

3.1.4 成员变量的隐藏和方法重写 66

3.1.5 super关键字 67

3.1.6 instanceof操作符 71

3.1.7 jave.lang.Object类 71

3.1.8 final数据、方法和类 74

3.2 抽象类和抽象方法 76

3.2.1 抽象类 76

3.2.2 抽象方法 77

3.3 接口 78

3.3.1 接口概念 78

3.3.2 定义接口 79

3.3.3 实现接口 81

3.3.4 接口类型的使用 82

3.3.5 接口的类型转换 83

3.4 多态 84

3.4.1 继承与多态 85

3.4.2 接口与多态 87

3.4.3 多态的优点 88

3.5 设计模式 89

3.5.1 单实例模式 90

3.5.2 策略模式 92

3.6 UML类图 96

3.6.1 UML简介 96

3.6.2 类图 97

3.6.3 类之间的关系 98

3.6.4 多重性 100

习题 102

第4章 泛型 103

4.1 问题的提出 103

4.2 泛型类 108

4.2.1 定义泛型类 108

4.2.2 使用泛型类 109

4.2.3 泛型类实例 110

4.3 泛型方法 113

4.3.1 使用泛型方法 113

4.3.2 受限类型参数 114

4.3.3 使用子类型 116

4.4 通配符 117

4.4.1 使用通配符 118

4.4.2 通配符捕获 120

4.5 类型擦除 122

习题 125

第5章 集合 126

5.1 数组 126

5.1.1 创建数组 126

5.1.2 访问数组元素 127

5.1.3 数组初始化 129

5.1.4 返回数组的方法 130

5.2 数组的基本操作 131

5.2.1 数组复制 131

5.2.2 数组比较 133

5.2.3 数组排序 134

5.2.4 数组查找 139

5.3 多维数组 141

5.4 集合框架简介 143

5.4.1 集合接口 143

5.4.2 集合实现 144

5.4.3 集合算法 145

5.5 集合实现 146

5.5.1 ArrayList类 146

5.5.2 HashSet类 148

5.5.3 HashMap类 151

5.6 集合算法 152

5.6.1 排序算法 153

5.6.2 查找算法 154

5.7 自定义集合实现类 156

习题 159

第6章 异常处理 160

6.1 异常 160

6.1.1 基本概念 160

6.1.2 异常分类 160

6.1.3 常用标准异常 161

6.2 异常处理 162

6.2.1 捕获异常 162

6.2.2 声明异常 166

6.2.3 抛出异常 167

6.2.4 异常链 168

6.2.5 覆盖抛出异常的方法 169

6.3 自定义异常类 171

6.3.1 创建自定义异常类 171

6.3.2 使用自定义异常类 172

6.4 日志 173

6.4.1 日志记录器 173

6.4.2 使用全局日志记录器 173

6.4.3 使用自定义日志记录器 174

6.5 断言 176

6.5.1 断言编译 177

6.5.2 打开与关闭断言 177

6.5.3 状态断言 178

6.5.4 控制流断言 179

习题 181

第7章 线程 182

7.1 线程概念 182

7.2 线程的实现 183

7.2.1 通过继承Thread类构造线程 183

7.2.2 通过Runnable接口构造线程 185

7.3 线程的生命周期 188

7.4 线程优先级和线程调度 190

7.5 多线程资源共享与同步 196

7.5.1 多线程访问共享资源的加锁机制 196

7.5.2 多线程的协作同步运行机制 202

7.5.3 死锁问题 210

7.6 Daemon线程 211

7.7 线程组 211

习题 213

第8章 输入输出 215

8.1 流的概念 215

8.2 字节流 215

8.2.1 InputStream类 216

8.2.2 OutputStream类 216

8.2.3 示例 217

8.3 字符流 219

8.3.1 Reader类 219

8.3.2 Writer类 220

8.3.3 示例 221

8.4 装饰模式 221

8.5 命令行I/O 224

8.5.1 标准流 224

8.5.2 控制台 226

8.6 格式化I/O 227

8.6.1 格式化输入 227

8.6.2 格式化输出 227

8.6.3 示例 228

8.7 对象序列化 229

8.8 文件操作 230

8.8.1 File类 230

8.8.2 随机访问文件 232

8.9 新I/O 233

习题 235

第9章 图形用户界面 236

9.1 Swing概述 236

9.2 Swing容器和组件 236

9.2.1 Swing容器 237

9.2.2 Swing组件 242

9.3 布局管理器 262

9.3.1 BorderLayout 262

9.3.2 FlowLayout 263

9.3.3 BoxLayout 264

9.3.4 GridLayout 265

9.3.5 CardLayout 266

9.3.6 GridBagLayout 267

9.4 事件处理 269

9.4.1 事件处理机制 269

9.4.2 事件类 270

9.4.3 事件处理示例 273

9.4.4 适配器类 276

9.5 多媒体 277

9.5.1 颜色和字体 277

9.5.2 绘图 278

9.5.3 基本图形 278

9.5.4 图像 281

9.5.5 动画 284

习题 285

第10章 网络通信 286

10.1 网络基本概念 286

10.1.1 TCP协议 286

10.1.2 UDP协议 286

10.1.3 IP地址和端口 287

10.2 Java网络功能 288

10.2.1 面向网络接口层的类 288

10.2.2 面向网络层的类 290

10.2.3 面向传输层的类 291

10.2.4 面向应用层的类 291

10.3 TCP通信 292

10.3.1 TCP服务器的实现 292

10.3.2 TCP客户的实现 294

10.3.3 处理多客户请求的TCP服务器 296

10.4 UDP通信 299

10.4.1 UDP服务器的实现 300

10.4.2 客户端编程 301

10.4.3 多播通信 303

10.5 使用URL 307

10.5.1 创建URL对象 308

10.5.2 解析URL 309

10.5.3 读取URL资源内容 310

10.5.4 使用URL连接 311

10.5.5 与Servlet交互 311

习题 315

附录A 双人联机五子棋游戏 316

A.1 双人联机五子棋游戏实例说明 316

A.2 完整的源代码 317

A.2.1 配置文件server.properties 317

A.2.2 ReadConfig类 317

A.2.3 FiveInARowServer类 318

A.2.4 ServerThread类 319

A.2.5 FiveInARowMain类 321

A.2.6 ClientThread类 322

A.2.7 ClientGUI类 324

A.2.8 Logic类 328