面向对象程序设计(Java)

面向对象程序设计(Java)
作 者: 贺敏
出版社: 电子工业出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  贺敏,男,副教授,就职于成都东软学院,主持\

内容简介

本书基于TOPCARES-CDIO工程化教育理念,以“贪吃蛇游戏”作为案例进行项目驱动,围绕项目开发所需知识进行内容组织,在保证实用性的同时兼顾知识的系统性。全书共分为 5 个单元,前 4 个单元系统论述了Java基础语法(包括变量和表达式、程序控制结构、字符串和数组)、面向对象程序设计的概念(包括特征和原则、类定义语法、继承和多态、抽象类和接口、枚举和泛型等)、Java Swing图形化界面编程技术、Java常用类(包括正则表达式、集合类、Java I/O、数据库访问技术等);第5单元按工程化方式完整实现了“贪吃蛇游戏”的项目,对前面的知识进行了综合应用。本书适合作为高等院校计算机及相关专业本科教材,也可作为相关培训机构的培训教材,以及对 Java开发技术感兴趣人员的参考书。

图书目录

第1单元 Java基础语法

第1章 绪论\t3

1.1 Java概述\t3

1.1.1 Java的起源和发展\t3

1.1.2 Java语言特点\t4

1.1.3 Java运行机制\t5

1.2 面向对象思想\t6

1.3 综合项目概述\t6

本章小结\t7

习题\t7

第2章 结构化基础语法\t8

2.1 Java程序组成\t8

2.1.1 注释\t9

2.1.2 程序入口点\t10

2.1.3 程序组织\t10

2.1.4 程序错误\t11

2.1.5 代码规范\t12

2.1.6 使用IDE\t12

2.2 数据类型和变量\t14

2.2.1 基本类型和引用类型\t14

2.2.2 基本类型\t14

2.2.3 变量\t16

2.2.4 类型转换\t17

2.3 表达式和语句\t18

2.3.1 算术运算\t18

2.3.2 关系运算\t19

2.3.3 条件运算\t20

2.3.4 赋值运算\t21

2.3.5 运算符优先级\t21

2.3.6 位运算\t22

2.3.7 其他运算\t23

本章小结\t24

习题\t24

第3章 字符串和数组\t25

3.1 字符串\t25

3.1.1 字符串的创建\t25

3.1.2 格式化字符串\t26

3.1.3 字符串和基本类型转换\t26

3.1.4 字符串常用方法\t27

3.2 数组\t28

3.2.1 数组的定义\t28

3.2.2 数组元素的访问\t29

3.2.3 多维数组\t29

本章小结\t29

习题\t29

第4章 程序控制结构\t31

4.1 分支结构\t31

4.1.1 if-else分支\t31

4.1.2 switch分支\t34

4.2 循环结构\t35

4.2.1 while循环\t36

4.2.2 do-while循环\t37

4.2.3 for循环\t37

4.3 跳转语句\t39

4.3.1 break语句\t39

4.3.2 continue语句\t40

4.4 递归调用\t41

4.5 综合应用\t42

4.5.1 二分查找算法\t42

4.5.2 九宫算术\t43

4.5.3 Excel地址转换\t45

4.5.4 约瑟夫环\t46

4.6 单元项目\t48

4.6.1 项目概述\t48

4.6.2 设计与实现\t48

本章小结\t50

习题\t51

第2单元 Java面向对象

第5章 面向对象思想及原则\t55

5.1 面向对象思想特征\t55

5.2 面向对象思想原则\t57

5.3 OOP引例\t58

本章小结\t61

习题\t62

第6章 类定义语法\t63

6.1 成员访问控制\t63

6.2 数据相关成员\t64

6.2.1 成员变量\t64

6.2.2 构造方法\t64

6.2.3 get/set访问器\t65

6.3 方法定义\t66

6.3.1 方法构成\t66

6.3.2 方法重载\t69

6.3.3 可变参数\t70

6.4 类成员\t71

6.4.1 类和对象\t71

6.4.2 类成员定义\t72

本章小结\t74

习题\t74

第7章 面向对象高级概念\t76

7.1 继承和多态\t76

7.1.1 继承\t76

7.1.2 对象的类型转换\t78

7.1.3 多态\t79

7.1.4 Object类\t82

7.2 抽象类和接口\t89

7.2.1 抽象类\t89

7.2.2 接口\t90

7.2.3 抽象类和接口的区别\t92

7.3 内部类\t94

7.3.1 顶层类成员\t94

7.3.2 局部内部类\t96

7.3.3 内部类与多重继承\t97

7.4 枚举类型\t98

7.4.1 枚举的定义\t98

7.4.2 枚举的实现原理\t98

7.4.3 枚举的使用\t100

7.5 泛型编程\t102

7.5.1 泛型类型\t102

7.5.2 类型擦除\t104

7.5.3 类型限制\t105

7.5.4 泛型方法\t107

7.6 类的组织:包\t108

7.6.1 包的概念与意义\t108

7.6.2 包的定义与使用\t108

7.6.3 静态导入\t109

7.7 单元项目\t109

7.7.1 项目概述\t109

7.7.2 设计与实现\t110

本章小结\t117

习题\t117

第3单元 GUI编程

第8章 Java Swing技术\t121

8.1 Swing技术简介\t121

8.1.1 Swing概述\t121

8.1.2 GUI程序的创建\t122

8.1.3 窗口坐标体系\t124

8.1.4 界面风格\t124

8.1.5 模式窗口与非模式窗口\t125

8.2 常用容器\t126

8.2.1 顶层容器\t126

8.2.2 中间容器\t129

8.3 常用布局\t131

8.3.1 BorderLayout边界布局\t131

8.3.2 FlowLayout流式布局\t133

8.3.3 CardLayout卡片布局\t134

8.3.4 GridLayout网格布局\t134

8.3.5 BoxLayout箱式布局\t135

8.3.6 GridBagLayout非规则网格布局\t137

8.3.7 绝对布局\t140

8.4 事件监听和处理\t142

8.4.1 事件处理机制\t142

8.4.2 键盘事件处理\t144

8.4.3 鼠标事件处理\t147

8.4.4 窗口事件处理\t151

8.5 常用UI元素\t153

8.5.1 辅助元素\t154

8.5.2 常用组件\t156

8.5.3 通用对话框\t161

8.5.4 菜单栏\t167

8.5.5 系统托盘\t169

8.6 自动化任务\t171

8.6.1 模拟鼠标键盘\t171

8.6.2 屏幕截图\t174

本章小结\t176

习题\t177

第9章 Java绘图技术\t178

9.1 界面绘图机制\t178

9.1.1 绘制过程\t178

9.1.2 双缓冲技术\t179

9.1.3 绘图与动画\t179

9.2 Graphics的使用\t181

9.2.1 几何图形绘制和填充\t181

9.2.2 字符串绘制\t185

9.2.3 图片绘制\t191

9.3 单元项目\t194

9.3.1 GUI计算器\t194

9.3.2 简易绘图软件\t198

本章小结\t208

习题\t208

第4单元 Java常用技术

第10章 字符串与正则表达式\t213

10.1 再论字符串\t213

10.1.1 字符串的不变性\t213

10.1.2 StringBuilder类\t215

10.1.3 字符串其他常用操作\t217

10.2 正则表达式\t219

10.2.1 正则符号\t219

10.2.2 正则验证与匹配\t221

10.2.3 支持正则的字符串方法\t225

本章小结\t227

习题\t227

第11章 Java集合框架\t229

11.1 集合框架概述\t229

11.2 常用集合类\t231

11.2.1 ArrayList类\t231

11.2.2 LinkedList类\t233

11.2.3 HashMap类\t236

11.2.4 HashSet类\t240

11.3 集合工具类\t240

11.3.1 Arrays类\t240

11.3.2 Collections类\t242

本章小结\t242

习题\t242

第12章 文件与I/O流\t244

12.1 文件\t244

12.1.1 创建文件对象\t245

12.1.2 操作文件对象\t245

12.2 I/O流概述\t247

12.2.1 流的概念与分类\t247

12.2.2 流的套接\t247

12.3 字符流读/写\t248

12.3.1 字符阅读流\t248

12.3.2 字符书写流\t249

12.4 字节流读/写\t250

12.4.1 字节输入流\t250

12.4.2 字节输出流\t252

12.4.3 标准输入/输出\t257

12.5 对象序列化\t258

12.5.1 序列化技术概述\t258

12.5.2 序列化与反序列化\t258

12.5.3 序列化的限制\t261

12.6 单元项目\t262

12.6.1 项目概述\t262

12.6.2 设计与实现\t263

本章小结\t267

习题\t267

第13章 数据库访问技术JDBC\t269

13.1 JDBC基本概念\t269

13.2 JDBC驱动程序类型\t270

13.3 搭建数据库环境\t271

13.3.1 安装MySQL数据库\t271

13.3.2 建立数据表\t271

13.3.3 配置JDBC驱动\t271

13.3.4 接口Driver和类

DriverManager\t272

13.3.5 编写驱动测试程序\t273

13.4 数据库访问\t274

13.4.1 注册数据库驱动\t274

13.4.2 创建连接对象\t274

13.4.3 创建SQL对象\t275

13.4.4 执行SQL语句\t275

13.4.5 访问结果集对象\t276

13.5 数据库操作\t277

13.5.1 在Swing窗口中显示结果集\t278

13.5.2 元数据\t280

13.5.3 PreparedStatement对象\t281

13.6 事务处理\t282

13.6.1 事务\t282

13.6.2 保存点\t284

本章小结\t285

习题\t285

第5单元 课程项目实践

第14章 课程项目―贪吃蛇游戏\t289

14.1 项目功能描述\t289

14.2 项目设计与实现\t289

14.2.1 搭建游戏框架\t289

14.2.2 GameImage类实现\t290

14.2.3 DigitImage类实现\t292

14.2.4 GameConfig类实现\t292

14.2.5 Node类实现\t294

14.2.6 Snake类实现\t295

14.2.7 事件机制模拟\t297

14.2.8 GameServer类实现\t298

14.2.9 PanelInfo类实现\t299

14.2.10 PanelGame类实现\t301

14.2.11 国际化与本地化\t301

14.2.12 MenuGame类实现\t302

14.2.13 FrameGame类实现\t304

14.2.14 PlayerController类实现\t305

14.2.15 GameController类实现\t305

14.2.16 GameEntry类实现\t307

14.3 课程项目总结\t308

附录A 《劝学篇》\t309

附录B 编码规范\t311

附录C JDK版本特性\t314