面向对象程序设计:Java
作者:贺敏,鞠磊,杨露 编著
出版时间: 2019年版
内容简介
本书基于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