《Java程序设计基础》(第四版)是“十四五”职业教育国家规划教材、“十三五”职业教育国家规划教材、“十二五”职业教育国家规划教材、2020年湖南省职业教育优秀教材,也是高等职业教育软件技术专业系列规划教材之一。本教材按照企业承接一个软件开发项目的标准流程,以项目导入开始,从搭建开发环境到最后实现,全面介绍了面向对象编程思想和运用Java语言及Eclipse开发平台完成项目的过程。全书分为5个模块共16章:模块1:课程准备,包括前3章:初识Java,搭建开发环境,建立面向对象的编程思想;模块2:面向对象编程初级,由第4~7章组成:创建类,创建类的成员方法,创建对象,使用程序包;模块3:面向对象编程高级。包括第8~11章:实现继承,实现接口,实现多态,异常处理;模块4:图形用户界面,由第12~13章构成:创建图形用户界面,处理图形界面组件事件;模块5:网络编程及相关技术,包括第14~16章:实现流,实现多线程,实现网络通信。
《Java程序设计基础》(第四版)是“十四五”职业教育国家规划教材、“十三五”职业教育国家规划教材、“十二五”职业教育国家规划教材、2020年湖南省职业教育优秀教材,也是高等职业教育软件技术专业系列规划教材之一。
1.时代使命与育人理念
党的二十大报告强调“实施科教兴国战略,强化现代化建设人才支撑”,为教材编写指明了方向:一是坚持科技自立自强,注重掌握核心技术,培养Java生态中的自主开发能力;二是深化产教融合,通过企业级项目实践对接产业需求;三是实施数字中国战略,强调网络编程、多线程等技术应用,服务数字经济基础设施;四是建设人才强国,将社会主义核心价值观、职业素养、工匠精神和创新意识融入代码规范、系统优化等教学环节,培养兼具技术实力与职业素养的开发者。通过案例浸润,引导学生在掌握专业技能的同时,树立科技报国理想,实现个人成长与国家发展的同频共振。
2.开发理念与主要特色
本教材面向Java程序员职业岗位,由具有丰富企业开发经验的双师型教师团队编写,遵循“技术前沿性、教学实用性、育人协同性”的编写理念。主要包括四大特色,一是项目驱动:以“银行ATM自动取款系统”贯穿全程,构建“需求分析-环境搭建-功能实现-系统优化”完整开发链路。二是技术前瞻:全面升级至JDK 21与Eclipse 2024-09(4.33.0)开发体系,对接企业最新技术和主流平台。三是理实一体:设置5大知识模块、16个教学单元、14个专项训练,形成“导-学-练-用”闭环。四是能力进阶:从面向对象基础到网络通信技术,打造程序员“新手→能手→高手”成长路径。
3.第四版升级亮点
与第三版相比,本版主要有三个方面的更新。一是技术升级:全面适配Java新开发技术,对标JDK 21新特性,采用新版Eclipse企业开发平台。二是实践优化:重构项目训练体系,引入《计算机软件文档编制规范》等企业开发标准。三是聚焦能力提升:强化面向对象思想与网络编程核心能力培养,内容更加实用。
4.内容体系与教学创新
本教材采用模块化架构,构建了五层阶梯式教学与学习体系。
5.教学资源与服务
本教材提供丰富的配套资源。主要包括:
(1)全套资源包:源代码、教学课件、微课视频(扫码即看)、电子教案、习题参考答案、ATM项目。
(2)Eclipse工程文件:适配不同教学场景。
(3)全流程案例库:包含5个阶段项目文档,还原企业开发流程。
(4)课程实施:教师可以根据学情,选择一门课程讲完或者分两门课程开设,即Java程序设计基础(48学时)+Java面向对象软件开发(48~64学时)两种教学模式。
在编写本教材的过程中,编者参考、引用和改编了国内外出版物中的相关资料以及网络资源,在此表示深深的谢意!相关著作权人看到本教材后,请与出版社联系,出版社将按照相关法律的规定支付稿酬。
对于学习中的疑问与建议,欢迎读者和任课教师联系我们,期待与您共同探索Java程序员的成长之路!
编 者
2025年8月
模块1 课程准备
第1章 初识Java / 3
1.1 Java语言的发展历史 / 4
1.1.1 Java的四种版本 / 4
1.1.2 Java的应用 / 4
1.2 Java语言的特点 / 5
1.2.1 Java语言的技术特点 / 5
1.2.2 Java虚拟机(JVM) / 6
习 题 / 7
第2章 搭建开发环境 / 8
2.1 软件的安装与配置 / 8
2.1.1 安装和设置JDK / 8
2.1.2 Eclipse简介 / 9
2.2 体验第一个Java程序 / 10
2.2.1 应用程序(Application) / 10
2.2.2 应用程序的运行 / 10
2.2.3 小程序(Applet) / 12
2.2.4 小程序的运行 / 13
习 题 / 14
第3章 建立面向对象的编程思想 / 16
3.1 面向对象的思想 / 16
3.1.1 面向对象思想的基本概念 / 17
3.1.2 面向对象思想的基本特征 / 17
3.1.3 面向对象思想的基本要素 / 18
3.2 面向对象的编程方法 / 18
3.2.1 面向对象编程的基本步骤 / 18
3.2.2 主要概念解析 / 19
3.2.3 类的实现 / 20
习 题 / 22
项目训练1 分析“银行ATM自动取款系统” / 23
模块2 面向对象编程初级
第4章 创建类 / 29
4.1 类的定义 / 29
4.1.1 定义类 / 29
4.1.2 修饰类 / 31
4.2 成员属性 / 31
4.2.1 基本数据类型 / 31
4.2.2 类型转换 / 34
4.2.3 成员属性的声明 / 34
技能训练1 创建类 / 39
习 题 / 41
〖=BW(〗目 录〖=〗
第5章 创建类的成员属性和方法 / 42
5.1 Java语句的基本组成 / 42
5.1.1 分隔符 / 42
5.1.2 关键字 / 44
5.2 运算符与表达式 / 44
5.2.1 算术运算符 / 44
5.2.2 关系运算符 / 45
5.2.3 逻辑运算符 / 45
5.2.4 赋值运算符 / 46
5.2.5 条件运算符 / 46
5.2.6 表达式 / 46
技能训练2 创建类的成员属性 / 47
5.3 控制结构 / 49
5.3.1 分支语句 / 50
5.3.2 循环语句 / 54
5.3.3 Java编码规范 / 56
5.4 数 组 / 57
5.4.1 一维数组 / 57
5.4.2 多维数组 / 58
5.5 成员方法的声明 / 60
5.5.1 方法的声明 / 60
5.5.2 方法的覆盖与重载 / 61
技能训练3 创建类的成员方法 / 63
习 题 / 66
第6章 创建对象 / 68
6.1 创建对象概述 / 68
6.1.1 类的实例化 / 68
6.1.2 对象的引用 / 69
6.1.3 方法的参数传递 / 70
6.1.4 对象的清除 / 71
6.2 构造方法 / 72
6.2.1 构造方法的定义 / 72
6.2.2 构造方法的重载 / 73
技能训练4 创建对象 / 75
习 题 / 80
第7章 使用程序包 / 81
7.1 Java系统包 / 81
7.1.1 Java类库结构 / 81
7.1.2 包的引用 / 83
7.2 建立自己的包 / 84
7.2.1 包的声明 / 84
7.2.2 包的应用 / 85
7.3 字符串的处理 / 87
7.3.1 字符串的生成 / 87
7.3.2 字符串的访问 / 87
7.3.3 String类的常用方法 / 88
7.4 JDK帮助系统 / 89
7.4.1 JDK帮助文档介绍 / 89
7.4.2 JDK帮助文档应用举例 / 91
技能训练5 使用程序包 / 93
习 题 / 97
项目训练2 实现“银行ATM自动取款系统”的类及包 / 98
模块3 面向对象编程高级
第8章 实现继承 / 113
8.1 定义继承 / 113
8.1.1 继承的概念 / 113
8.1.2 继承的定义方法 / 114
8.2 子类对父类的访问 / 114
8.2.1 调用父类中特定的构造方法 / 114
8.2.2 在子类中访问父类的成员 / 116
8.3 抽象类 / 117
8.3.1 抽象类的概念 / 117
8.3.2 定义抽象类 / 117
技能训练6 实现继承 / 119
习 题 / 124
第9章 实现接口 / 125
9.1 定义接口 / 125
9.2 接口的实现方法 / 126
技能训练7 实现接口 / 127
习 题 / 131
第10章 实现多态 / 132
10.1 创建多态的条件 / 132
10.1.1 多态的定义 / 132
10.1.2 多态的条件 / 133
10.2 多态的实现方法 / 133
10.2.1 子类向父类转型实现多态 / 133
10.2.2 类向接口转型实现多态 / 134
技能训练8 实现多态 / 135
习 题 / 138
第11章 异常处理 / 139
11.1 异常的分类 / 139
11.1.1 异常的产生 / 140
11.1.2 Java定义的标准异常类 / 141
11.2 异常处理机制 / 141
11.2.1 异常处理的语句结构 / 142
11.2.2 Throwable类的常用方法 / 143
11.2.3 异常类的创建 / 144
11.3 异常的抛出 / 145
11.3.1 throw语句 / 145
11.3.2 throws语句 / 146
技能训练9 处理异常 / 147
习 题 / 150
项目训练3 实现“银行ATM自动取款系统”的高级特性 / 152
模块4 图形用户界面
第12章 创建图形用户界面 / 161
12.1 分析图形用户界面特征 / 161
12.1.1 AWT组件的一般功能 / 162
12.1.2 AWT的基本组件 / 163
12.2 创建图形界面容器 / 163
12.2.1 Frame类 / 163
12.2.2 Panel类 / 164
12.3 布局图形界面组件 / 166
12.3.1 FlowLayout顺序布局管理器 / 166
12.3.2 BorderLayout边界布局管理器 / 167
12.3.3 GridLayout网格布局管理器 / 168
技能训练10 创建图形界面 / 169
习 题 / 174
第13章 处理图形界面组件事件 / 175
13.1 AWT事件处理过程 / 175
13.1.1 JDK事件处理模型 / 176
13.1.2 事件监听器 / 177
13.1.3 事件适配器 / 182
13.2 AWT基本组件 / 183
13.2.1 Label标签 / 184
13.2.2 Button按钮 / 184
13.2.3 Checkbox复选框 / 187
13.2.4 复选框组——单选框 / 188
13.2.5 Choice选择框 / 190
13.2.6 TextField文本框 / 191
13.2.7 TextArea文本区域 / 192
13.2.8 List列表框 / 193
13.2.9 组件的外观控制 / 195
13.3 Swing组件 / 196
13.3.1 JButton按钮 / 198
13.3.2 JPasswordField密码框 / 201
13.3.3 复选框、单选按钮、按钮组 / 203
13.3.4 菜单组件 / 207
13.3.5 工具栏JToolBar / 212
技能训练11 处理图形界面组件事件 / 214
习 题 / 221
项目训练4 实现“银行ATM自动取款系统”的图形界面 / 222
模块5 网络编程及相关技术
第14章 实现流 / 237
14.1 识别流的类型 / 237
14.1.1 Java标准输入/输出数据流 / 238
14.1.2 InputStream类 / 239
14.1.3 OutputStream类 / 239
14.1.4 PrintStream类 / 239
14.1.5 DataInputStream类和DataOutputStream类 / 240
14.1.6 InputStreamReader类和OutputStreamWriter类 / 240
14.1.7 BufferedInputStream类和BufferedOutputStream类 / 240
14.2 应用文件流 / 242
14.2.1 File类 / 242
14.2.2 FileInputStream类和FileOutputStream类 / 243
技能训练12 实现流 / 244
习 题 / 248
第15章 实现多线程 / 249
15.1 认识多线程 / 249
15.1.1 多线程的意义 / 250
15.1.2 线程的优先级与分类 / 250
15.1.3 线程的生命周期 / 251
15.2 创建多线程 / 251
15.2.1 Thread线程类 / 251
15.2.2 线程的创建 / 252
15.3 同步多线程 / 255
15.3.1 synchronized同步方法 / 255
15.3.2 synchronized同步代码块 / 257
技能训练13 实现多线程 / 258
习 题 / 263
第16章 实现网络通信 / 265
16.1 认识网络通信 / 265
16.1.1 网络编程基本理论 / 265
16.1.2 网络编程的基本方法 / 266
16.2 URL编程 / 267
16.2.1 URL类 / 267
16.2.2 URLConnection类 / 268
16.3 实现基于Socket的网络通信 / 270
16.3.1 Socket通信机制 / 270
16.3.2 Socket应用 / 271
技能训练14 实现网络通信 / 276
习 题 / 279
项目训练5 实现“银行ATM自动取款系统”的存储和通信 / 281
参考文献 / 287