缺什么补什么:别让对象停留在概念里
这份资料聚焦的是 JavaSE 中级阶段的核心:面向对象编程的落地。很多转岗或自学的开发者,能写出基本的语法和循环,但一遇到真实项目就卡壳,根本原因在于缺乏把业务需求翻译成类和对象的能力。如果你目前只会写 main 方法里的顺序代码,对成员变量、局部变量的作用域划分不清,或者知道面向对象有封装、继承、多态三大特性,却无法在项目里画出合理的类图,那么这门课正好补这块短板。它不跟你空谈理论,而是直接从软件开发流程切入,用收银项目和宠物领养这两个具体场景,逼着你把现实中的业务实体抽象成代码里的类。建议先看开课前准备里的环境搭建和语法回顾,快速校准基础,随后直接进入抽象和封装模块,重点啃构造方法、方法重载和 static 关键字。
资料配合练习:从看懂到敲通
这套视频资料最大的价值在于它的断点分析教学。很多初学者写完类后,根本不知道程序在内存里是怎么跑的。资料里专门安排了类的断点分析讲解,你必须跟着视频一步步打断点,观察对象的实例化过程和属性赋值时机。在看资料时,不要只用眼睛过一遍代码,必须打开编辑器同步敲写。特别是收银项目分析和用户数据封装这一节,你要自己先尝试把用户信息抽离成一个独立的类,把属性私有化,然后编写对应的构造方法和访问器。看完领养宠物的分析后,合上视频,自己从零写一个类似的业务场景,比如图书借阅或者车辆入库,强制自己运用封装思想去设计类结构,用 static 去统计实例化的对象总数。
看完应能独立回答的几个问题
- 给定一个收银系统的需求,你能独立拆分出哪些实体类?每个类里应该包含哪些属性和方法?
- 构造方法和普通实例方法在调用时机和内存分配上有什么本质区别?方法重载在项目里到底为了解决什么代码冗余问题?
- 当一个类中存在 static 修饰的变量时,它和实例变量在生命周期和访问方式上有什么不同?在断点调试时,你怎么观察 static 变量的加载和赋值节点?
- 封装的具体步骤是什么?如果不使用 private 关键字封装属性,在多人协作的收银项目中会引发什么具体的业务数据越界风险?
课程目录
1-1 [开课前准备] 开发前准备—svn项目同步 (27:20) 1-2 [开课前准备] java回顾-jdk环境搭建要点讲解 (08:00) 1-3 [开课前准备] 变量、数据类型和条件结构回顾 (24:43) 1-4 [开课前准备] 月份天数的判断实现和循环结构的简单回顾 (30:08) 1-5 [开课前准备] 数组、对象和类的简单回顾 (36:26) 1-6 [开课前准备] 软件开发流程和收银项目简介 (15:25) 1-7 [开课前准备] 收银项目分析和用户数据的封装 (39:48) 2-1 [抽象和封装] 类的简单封装 (37:38) 2-2 [抽象和封装] 构造方法的讲解 (29:19) 2-3 [抽象和封装] 类的断点分析和重载的讲解 (07:44) 2-4 [抽象和封装] 实现领养宠物的分析和讲解 (33:17) 2-5 [抽象和封装] static关键字、封装的步骤及其实现 (56:19) 2-6 [抽象和封装] 类的封装和设计类图 (21:29) 2-7 [抽象和封装] 通过类的封装升级领养宠物样例 (32:40) 3-1 [继承] 继承的基本概念和简单实现 (42:47) 3-2 [继承] 继承概念再精讲 (38:00) 3-3 [继承] 抽象类的概念和简单实现 (21:40) 3-4 [继承] final关键字和收取单个车辆租金的样例实现 (01:22:45) 3-5 [继承] 对收取单个车辆租金的样例代码进行思路分析和添加必要的注释 (23:52) 3-6 [继承] 对收取多个车辆租金的进行实现1 (01:08:19) 3-7 [继承] 对收取多个车辆租金的进行实现2 (20:02) 3-8 [继承] 根据面向对象实现对多个车辆租金进行计算的部分代码 (45:00) 3-9 [继承] 根据面向对象实现对多个车辆租金进行计算的代码实现2 (43:05) 4-1 [多态] 多态下喂食宠物的代码实现 (49:48) 4-2 [多态] 多态下同一喂食宠物方法-使用父类作为方法形参实现多态 (12:52) 4-3 [多态] 多态-领养宠物-使用父类作为方法返回值实现多态 (29:16) 4-4 [多态] 多态-父类到子类的转换和instanceof运算符 (21:00) 4-5 [多态] 多态-计算租金类的结构分析和编写代码的思路引导 (22:40) 4-6 [多态] 多态-计算租金代码的填充和测试类的实现 (28:14) 4-7 [多态] 多态-计算租金测试类的排错和sysout及断点调试 (28:25) 5-1 [接口] 接口-接口概念及其简单实现 (39:45) 5-2 [接口] 接口-接口封装实例 (51:46) 6-1 [异常] 异常-异常基本概念和运行机制 (37:47) 6-2 [异常] 异常-抛出异常的处理及其实现 (43:08) 6-3 [异常] 异常-自定义异常及其实现 (32:29) 6-4 [异常] 异常-异常作业及其参考实现 (21:50) 7-1 [包装类和其他常用类] 包装类、作用域和StringBuffer样例讲解 (01:02:09) 7-2 [包装类和其他常用类] String和StringBuffer性能比较和日期类样例讲 (49:24) 7-3 [包装类和其他常用类] Math类、Random类和正则表达式 (01:37:23) 8-1 [java集合类] Java集合类-list列表示例及讲解 (01:37:23) 8-2 [java集合类] Java集合类-set集示例及讲解 (01:00:33) 8-3 [java集合类] Java集合类-map示例及讲解 (38:20) 8-4 [java集合类] Java集合类-Collections示例及讲解 (17:53) 8-5 [java集合类] Java集合类-Map作业的代码实现 (23:18) 9-1 [泛型和内部类] 泛型基本原理和简单示例 (29:00) 9-2 [泛型和内部类] 内部类概念和习题讲解 (01:09:11) 10-1 [Java IO] java IO-file类和字节流outputStream讲 (46:38) 10-2 [Java IO] java IO-file类和字节流inputStream讲解 (29:43) 10-3 [Java IO] java IO-file类和字节流作业讲解 (40:34) 10-4 [Java IO] java IO-file类和字符流Writer与Reader (29:00) 10-5 [Java IO] java IO-file类和字符流作业讲解 (01:06:23) 10-6 [Java IO] java IO-数据操作流、合并流、压缩流简单介绍 (29:04) 11-1 [java技能扩展] java排行、下载及官方教程、demo、sample简单说明 (40:12) 12-1 [阶段项目] 阶段项目-项目整体安排和验收说明 (27:11) 12-2 [阶段项目] 阶段项目-项目设计和搭建实例引导 (33:50) 12-3 [阶段项目] 阶段项目-项目设计和文档提交引导 (33:21) 12-4 [阶段项目] 阶段项目-项目模块设计实现引导 (19:05) 12-5 [阶段项目] 阶段项目-项目模块设计实现再引导 (36:54) 12-6 [阶段项目] 阶段项目-项目业务实现引导 (56:08) 12-7 [阶段项目] 阶段项目-部分小组阶段项目演示 (31:06) 12-8 [阶段项目] 阶段项目-项目答辩安排和验收要求讲解 (24:47) 12-9 [阶段项目] 阶段项目-小组项目提交情况点评 (35:31)





