Java面向对象思想与程序设计

JAVA编程从入门到精通 扫码看视频自学更轻松 提供在线答疑服务
分享 推荐 0 收藏 16 阅读 1.2K
刘彦君 , 张仁伟 , 满志强 (编著)

关于本书的内容有任何问题,请联系 楼雪樵

本书面向以Java为第一种程序语言的初学者,强化面向对象的原理和机制,强调“做中学”,每章开头用思维导图的方式,引导读者带着问题去学习该章的内容,以便牢固地掌握知识。另外,作者录制了知识点和案例的讲解视频,读者可以方便地通过扫码的方式查看。

内容摘要

本书共分为14章,主要内容包括Java概述、Java语言基础语法、面向对象思想、类设计基础、类设计进阶、异常处理机制、基础类库、集合类、GUI与事件处理机制、Java多线程机制、I/O流类、数据库编程、网络应用编程初步、综合实践。

详情页

目录

第 1章 Java概述
1.1 Java 语言简介 2
1.1.1 Java 语言的产生 2
1.1.2 Java 语言的版本变迁 2
1.1.3 Java 语言特点 4
1.2 初识Java 程序 6
1.2.1 Java 程序的两种类型 6
1.2.2 Java 程序的结构特点 6
1.3 Java 开发与运行环境 7
1.3.1 使用JDK 7
1.3.2 使用IDE 10
1.4 Java 语言与Java 技术 12
1.5 怎么学习Java 12
1.5.1 入门之道 12
1.5.2 精通之路 14
1.6 小结 15
1.7 习题 16
第 2章 Java语言基础语法
2.1 数据类型和运算符号 18
2.1.1 Java 数据类型 18
2.1.2 标识符与关键字 23
2.1.3 运算符 25
2.2 输入输出 33
2.2.1 输入 33
2.2.2 输出 36
2.3 流程控制 38
2.3.1 顺序控制语句 38
2.3.2 选择控制语句 39
2.3.3 循环控制语句 51
2.3.4 选择控制语句与循环控制语句的嵌套 62
2.3.5 break 语句与continue语句 62
2.4 数组 67
2.4.1 一维数组 67
2.4.2 二维数组 73
2.5 小结 78
2.6 习题 79
第3章 面向对象思想
3.1 从数据开始 81
3.1.1 类的角色 81
3.1.2 事物数据化 81
3.1.3 对象的特殊性 82
3.1.4 对象分类 83
3.1.5 对象处理 84
3.2 面向对象与面向过程 86
3.2.1 问题与解决问题的思维方式 86
3.2.2 面向对象的内涵 90
3.2.3 面向对象和面向过程思想的关系 93
3.3 面向对象语言的三大特性 93
3.3.1 封装性 94
3.3.2 继承性 94
3.3.3 多态性 94
3.4 UML2.0 简介 95
3.4.1 UML 概述 95
3.4.2 类图 96
3.4.3 对象图 96
3.5 本章小结 96
3.6 习题 97
第4章 类设计基础
4.1 类 99
4.1.1 封装和隐藏 99
4.1.2 类的定义 99
4.1.3 域的定义 100
4.1.4 方法的定义 100
4.1.5 方法的重载 103
4.1.6 方法的递归 104
4.2 对象 106
4.2.1 对象的声明与创建 106
4.2.2 对象的使用 107
4.2.3 构造方法 109
4.2.4 对象的内存模型 110
4.2.5 this 111
4.2.6 参数传递 113
4.2.7 对象数组 117
4.2.8 static 关键字 120
4.2.9 @Deprecated注解 125
4.3 访问权限 127
4.3.1 private 修饰成员 127
4.3.2 public 修饰成员 127
4.3.3 protected 修饰成员 129
4.3.4 默认的访问权限 130
4.3.5 public 修饰类 130
4.4 对象组合 130
4.5 嵌套类 136
4.6 Java 的包 138
4.6.1 package 语句 139
4.6.2 import 语句 140
4.6.3 import static 语句 140
4.7 小结 142
4.8 习题 143
第5章 类设计进阶
5.1 类的继承 146
5.1.1 子类的定义 146
5.1.2 域的隐藏和方法的重写 150
5.1.3 super 关键字 152
5.1.4 Object 类 153
5.1.5 instanceof 关键字 155
5.1.6 子类的可访问性 156
5.1.7 final 关键字 158
5.1.8 @Override 注解 160
5.1.9 继承与组合的比较 160
5.2 类的多态 163
5.2.1 对象的赋值兼容规则 163
5.2.2 多态的实现 164
5.2.3 匿名类 168
5.3 抽象类与接口 169
5.3.1 抽象类 169
5.3.2 接口 171
5.3.3 抽象类与接口的比较 173
5.4 类及类间关系的UML 表示 174
5.4.1 类的表示 174
5.4.2 对象的表示 176
5.4.3 接口的表示 176
5.4.4 类间关系及UML 表示 176
5.5 小结 179
5.6 习题 180
第6章 异常处理机制
6.1 什么是异常 182
6.1.1 异常的概念 182
6.1.2 异常的类型 182
6.1.3 程序中的常见异常类型 183
6.2 异常处理 185
6.2.1 异常处理机制 185
6.2.2 try-catch-finally 异常处理语句 186
6.2.3 throw 异常抛出语句 189
6.2.4 自定义异常类 190
6.2.5 方法声明抛出异常 191
6.2.6 finally 和return 193
6.3 小结 193
6.4 习题 193
第7章 基础类库
7.1 为类分类 195
7.1.1 Java 类包 195
7.1.2 包和类层次体系 196
7.1.3 在继承与创新中发展 196
7.1.4 哪些是常用的类 197
7.2 字符串类与字符串处理 197
7.2.1 字符串处理问题 197
7.2.2 字符串类 199
7.2.3 Scanner 类与字符串 204
7.3 正则表达式与字符串处理 205
7.3.1 正则表达式 205
7.3.2 Pattern 类和Matcher 类 207
7.4 数学类与数学计算 207
7.5 日期、日历和时间类 211
7.5.1 日期类Date 211
7.5.2 日历类Calendar 212
7.5.3 本地日期和时间类 213
7.6 包装类 215
7.7 系统类 216
7.7.1 System 类 216
7.7.2 Runtime 类 217
7.7.3 Java 垃圾回收机制 218
7.8 其他常用类 219
7.8.1 Objects 类与Object 类 219
7.8.2 Class 类和反射机制 222
7.9 几个重要的接口 223
7.9.1 Observer 接口和Observable 类 223
7.9.2 Comparator 与Comparable 接口 225
7.10 小结 228
7.11 习题 228
第8章 集合类
8.1 泛型 230
8.1.1 什么是泛型 230
8.1.2 泛型类的定义 232
8.1.3 泛型接口的定义 234
8.1.4 泛型方法的定义 234
8.1.5 泛型参数的限定 235
8.2 集合类总览 237
8.2.1 集合类及其特点 237
8.2.2 Java 的集合类 237
8.3 List 集合 239
8.3.1 List 接口 239
8.3.2 ArrayList 集合类 240
8.3.3 LinkedList 集合类 242
8.4 Set 集合 243
8.4.1 Set 接口 244
8.4.2 HashSet 集合类 244
8.4.3 TreeSet 集合类 245
8.5 Map 集合 247
8.5.1 Map 接口 247
8.5.2 HashMap 集合类 248
8.5.3 TreeMap 集合类 249
8.6 集合元素的操作 250
8.6.1 使用Iterator迭代器 250
8.6.2 使用Collections 252
8.6.3 使用Lambda表达式 255
8.7 小结 261
8.8 习题 261
第9章 GUI与事件处理机制
9.1 AWT 263
9.1.1 AWT 组件 263
9.1.2 AWT 容器 265
9.2 swing 265
9.2.1 swing 组件 266
9.2.2 swing 容器 273
9.2.3 布局管理器 277
9.3 理解事件及事件处理机制 287
9.3.1 理解事件 287
9.3.2 ActionEvent 事件 288
9.3.3 MouseEvent 事件 291
9.3.4 KeyEvent 事件 293
9.3.5 ItemEvent 事件 295
9.3.6 FocusEvent 事件 298
9.3.7 DocumentEvent事件 298
9.3.8 窗口事件 299
9.4 小结 300
9.5 习题 301
第 10章 Java多线程机制
10.1 线程基本概念 303
10.1.1 进程与线程 303
10.1.2 线程的执行 303
10.1.3 线程的作用 304
10.1.4 进程与线程的区别 304
10.2 线程的创建方法 305
10.2.1 扩展Thread 类 305
10.2.2 实现接口Runnable 306
10.2.3 用Callable 和FutureTask定义线程 307
10.3 线程状态及转换 308
10.3.1 线程的状态 308
10.3.2 线程状态转换 308
10.4 线程调度 309
10.4.1 线程栈模型 309
10.4.2 线程优先级 309
10.5 线程常用方法 311
10.5.1 常用方法 311
10.5.2 线程让步 313
10.5.3 线程联合 314
10.5.4 守护线程 315
10.5.5 线程中断 317
10.6 线程同步与锁机制 319
10.6.1 线程同步概述 319
10.6.2 线程同步举例 321
10.6.3 线程安全 323
10.6.4 线程死锁 325
10.7 线程的交互 327
10.7.1 线程交互概述 327
10.7.2 wait() 方法和
notify() 方法 327
10.8 小结 329
10.9 习题 329
第 11章 I/O流类
11.1 理解 I/O流的作用 332
11.1.1 什么是流 332
11.1.2 流的分类 332
11.2 File 类 334
11.2.1 文件对象与属性 334
11.2.2 目录操作 336
11.2.3 文件的操作 337
11.2.4 Scanner 类 访问文件 339
11.3 常用 I/O流类 340
11.3.1 字节流 340
11.3.2 字符流 344
11.3.3 数据流 346
11.3.4 缓冲流 347
11.3.5 随机流 350
11.4 对象串行化 352
11.4.1 对象流 352
11.4.2 对象的串行化 353
11.4.3 对象输入流与对象输出流 353
11.5 NIO 355
11.5.1 NIO 与IO 355
11.5.2 NIO 的主要组成 部分 356
11.5.3 Buffers 357
11.5.4 Channels 359
11.6 小结 362
11.7 习题 363
第 12章 数据库编程
12.1 MySQL 数据库与 SQL 命令 365
12.1.1 MySQL数据库及安装 365
12.1.2 SQL 命令 368
12.1.3 从文件导入数据 371
12.2 连接数据库 372
12.2.1 四种驱动类型 372
12.2.2 JDBC 驱动程序与 连接(类型 IV) 373
12.2.3 使用 JDBC-ODBC 桥 374
12.2.4 无数据源方式 376
12.3 JDBC 编程 378
12.3.1 JDBC API 378
12.3.2 使用SQL 语句操作数据 379
12.3.3 利用可更新结果集操作数据 382
12.3.4 使用RowSet查询结果 383
12.3.5 编译预处理 385
12.3.6 连接池简介 387
12.4 什么是DAO 388
12.5 小结 392
12.6 习题 392
第 13章 网络应用编程初步
13.1 基础知识 394
13.1.1 网络基本概念 394
13.1.2 TCP 和UDP 协议 395
13.1.3 URL 395
13.2 常用类 396
13.2.1 URL 类 396
13.2.2 InetAddress 类 397
13.2.3 TCP 通信类 397
13.2.4 UDP 通信类 398
13.3 基于TCP 的编程 400
13.4 基于UDP 的编程 403
13.5 基于NIO 的编程 405
13.5.1 SocketChannel 类 405
13.5.2 ServerSocketChannel类 405
13.5.3 Selector 类 405
13.5.4 SelectionKey 类 406
13.5.5 应用举例 406
13.6 小结 412
13.7 习题 412
第 14章 综合实践
14.1 谈谈设计 414
14.1.1 设计与方法 414
14.1.2 好的设计 414
14.2 谈谈重构 415
14.3 实践题目 421
14.3.1 学生成绩管理软件 421
14.3.2 表格驱动的计算 421
14.3.3 电梯运行模拟 422

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

刘彦君,副教授,长期从事计算机及相关专业的教学和科研工作。主讲《Java语言》《JavaEE》《设计模式》等课程。曾编写《JavaEE开发技术与案例教程》《数据库原理与应用》等多本教材,对程序设计语言用于专业课程实践环节,培养学生计算思维和分析问题、解决问题能力有深入体会。

相关图书