能力缺口与适用基础
这门课解决的核心问题,是让只会写顺序、分支、循环的初学者,真正建立起类型设计思维,而不是停留在把一堆变量扔进主方法里跑通就行的阶段。如果你写代码时经常把所有逻辑塞进一个类、一个方法,遇到稍微复杂的数据关系就脑子发懵,或者背过封装、构造方法的概念却不知道为什么要这么写,那说明你的能力缺口就在这里。它适合已经掌握 Java 基本语法、能写简单控制流但没有真正用过自定义类的人。如果你连基本数据类型和 if 判断都不熟,建议先补语法再看。这阶段别假装自己懂面向对象,能跑通代码和知道内存里发生了什么完全是两码事。
建议先看的模块与练习配合
拿到资料后,别从头到尾按顺序点。建议先看类与对象的定义及基本使用,紧接着死磕对象内存分析与引用传递初步这两块。很多人写 Java 写了好几年还搞不清基本类型和引用类型在内存里的区别,根源就是刚学面向对象时跳过了内存分析。看完这几块,立刻去补封装性和构造方法,然后跟着综合实战那节自己敲一遍简单 Java 类。数组部分可以作为巩固引用传递的练习场,重点看数组的引用分析,搞清楚数组变量到底存的是什么。练习时不要只看视频,准备一个编辑器,每看完一节就自己写测试类验证:实例化两个对象互相赋值,打印字段值变化,画出栈和堆的草图。资料里的目录线索只用来帮你定位知识点,别把它当播放列表刷完就算学过。
学完能独立做什么
学完之后,你应该能独立完成这样的事:拿到一个简单的现实需求,比如描述一本书、一个员工,能自己设计出类,定义私有字段,写出 getter 和 setter,用构造方法完成初始化,而不是把所有属性公开暴露。你应该能在纸上画出几行代码执行后的内存结构,说清楚哪个变量指向哪个堆内存,引用传递时到底传了什么。当别人问你为什么属性要私有、为什么要提供构造方法、匿名对象用在什么场景,你能用自己的话讲明白而不是背概念。如果学完还只能说一句面向对象就是封装继承多态,那等于没学。这阶段的目标不是写多大项目,而是把每一个基础概念踩实,后面学集合框架、甚至看源码时才不会因为底层引用逻辑发虚而反复回头补课。
课程目录
1-1 [Java8面向对象编程] 面向对象简介 (17:41) 1-2 [Java8面向对象编程] 类与对象的定义 (08:27) 1-3 [Java8面向对象编程] 类与对象的基本使用 (09:42) 1-4 [Java8面向对象编程] 对象内存分析 (25:12) 1-5 [Java8面向对象编程] 引用传递初步 (17:54) 2-1 [深入分析类与对象] 封装性 (16:18) 2-2 [深入分析类与对象] 构造方法与匿名对象 (30:48) 2-3 [深入分析类与对象] 综合实战:简单Java类 (13:36) 3-1 [数组的定义及使用] 数组的基本概念 (13:21) 3-2 [数组的定义及使用] 数组的引用分析 (12:27) 3-3 [数组的定义及使用] 数组的静态初始化 (13:01) 3-4 [数组的定义及使用] 二维数组 (16:37) 3-5 [数组的定义及使用] 数组与方法的引用操作 (48:20) 3-6 [数组的定义及使用] 数组相关操作方法 (06:28) 3-7 [数组的定义及使用] 对象数组 (12:49) 4-1 [剖析String类] String类对象的两种实例化方式 (05:10) 4-2 [剖析String类] 字符串比较 (11:35) 4-3 [剖析String类] String类匿名对象 (08:55) 4-4 [剖析String类] String类对象两种实例化方式比较 (19:55) 4-5 [剖析String类] 字符串修改分析 (08:32) 5-1 [String类常用方法] Java Doc文档简介 (08:21) 5-2 [String类常用方法] 字符与字符串 (13:54) 5-3 [String类常用方法] 字节与字符串 (05:11) 5-4 [String类常用方法] 字符串比较 (08:00) 5-5 [String类常用方法] 字符串查找 (10:53) 5-6 [String类常用方法] 字符串截取 (03:17) 5-7 [String类常用方法] 字符串替换 (03:02) 5-8 [String类常用方法] 字符串拆分 (06:41) 5-9 [String类常用方法] 其它操作方法 (13:29) 6-1 [this关键字] 调用本类属性 (10:33) 6-2 [this关键字] 调用本类方法 (20:40) 7-1 [引用传递分析实例] 引用传递进阶分析 (23:46) 7-2 [引用传递分析实例] 对象比较 (15:44) 7-3 [引用传递分析实例] 引用传递实际应用 (26:06) 8-1 [static关键字] 声明static属性 (20:50) 8-2 [static关键字] 声明static方法 (13:35) 8-3 [static关键字] 分析主方法 (11:29) 8-4 [static关键字] static应用案例 (07:27) 9-1 [代码块] 普通代码块 (05:48) 9-2 [代码块] 构造代码块 (03:08) 9-3 [代码块] 静态代码块 (07:21) 10-1 [内部类] 内部类基本概念 (24:32) 10-2 [内部类] static定义内部类 (06:25) 10-3 [内部类] 方法中定义内部类 (08:53) 11-1 [综合实战:简单Java类深入] 综合实战:数据表与简单Java类映射 (20:54) 11-2 [综合实战:简单Java类深入] 综合实战:一对多映射(类型-子类型) (09:28) 11-3 [综合实战:简单Java类深入] 综合实战:双向一对多映射(用户-课程-考试成绩) (21:28) 11-4 [综合实战:简单Java类深入] 综合实战:多对多映射(管理员-角色-组-权限) (29:45) 12-1 [继承性] 继承问题的引出 (07:17) 12-2 [继承性] 继承的实现 (08:09) 12-3 [继承性] 继承的限制 (27:29) 13-1 [覆写] 方法覆写 (27:08) 13-2 [覆写] 属性覆盖 (06:02) 14-1 [综合案例:数组操作] 综合案例:数组操作(基础父类) (16:24) 14-2 [综合案例:数组操作] 综合案例:数组操作(排序子类) (05:48) 14-3 [综合案例:数组操作] 综合案例:数组操作(反转子类) (05:14) 15-1 [设计辅助概念] final关键字 (08:34) 15-2 [设计辅助概念] 对象多态性 (38:29) 16-1 [抽象类] 抽象类基本概念 (14:46) 16-2 [抽象类] 抽象类基本概念 (14:46) 16-3 [抽象类] 抽象类的相关说明 (17:26) 16-4 [抽象类] 模板设计模式 (20:08) 17-1 [接口] 接口基本定义 (27:35) 17-2 [接口] 使用接口定义标准 (16:54) 17-3 [接口] 工厂设计模式 (13:55) 17-4 [接口] 代理设计模式 (14:20) 17-5 [接口] 抽象类与接口区别 (17:17) 18-1 [Object类] Object类的基本概念 (10:22) 18-2 [Object类] toString()方法 (05:08) 18-3 [Object类] equals()方法 (05:02) 18-4 [Object类] 接收引用类型 (08:36) 19-1 [扩展概念] 匿名内部类 (08:18) 19-2 [扩展概念] 包装类实现原理分析 (12:19) 19-3 [扩展概念] 装箱与拆箱 (09:03) 19-4 [扩展概念] 数据类型转换 (15:48) 20-1 [链表的定义与使用] 链表基本概念 (22:45) 20-2 [链表的定义与使用] 链表基本实现 (19:45) 20-3 [链表的定义与使用] 可用链表 —— 程序结构设计 (06:55) 20-4 [链表的定义与使用] 可用链表 —— 增加数据 (04:21) 20-5 [链表的定义与使用] 可用链表 —— 取得链表长度 (04:51) 20-6 [链表的定义与使用] 可用链表 —— 判断空链表 (02:50) 20-7 [链表的定义与使用] 可用链表 —— 数据内容查询 (10:03) 20-8 [链表的定义与使用] 可用链表 —— 根据索引取得数据 (11:24) 20-9 [链表的定义与使用] 可用链表 —— 修改链表数据 (06:21) 20-10 [链表的定义与使用] 可用链表 —— 删除链表数据 (12:21) 20-11 [链表的定义与使用] 可用链表 —— 清空链表数据 (02:47) 20-12 [链表的定义与使用] 可用链表 —— 对象数组转换 (09:13) 20-13 [链表的定义与使用] 综合实战:图书大厦 (24:11) 21-1 [包的定义及使用] 包的定义 (10:50) 21-2 [包的定义及使用] 包的导入 (20:26) 21-3 [包的定义及使用] 系统常用包 (14:40) 21-4 [包的定义及使用] 生成jar文件 (12:21) 22-1 [访问控制权限] 访问控制权限 (09:15) 22-2 [访问控制权限] Java命名规范 (02:21) 23-1 [单例设计模式] 单例设计模式分析 (21:17) 23-2 [单例设计模式] 多例设计模式分析 (04:43) 24-1 [异常的捕获及处理] 认识异常 (06:24) 24-2 [异常的捕获及处理] 处理异常 (06:29) 24-3 [异常的捕获及处理] 处理多个异常 (06:44) 24-4 [异常的捕获及处理] 异常处理流程 (22:24) 24-5 [异常的捕获及处理] throws关键字 (08:58) 24-6 [异常的捕获及处理] 异常处理模型 (05:49) 24-7 [异常的捕获及处理] 异常处理模型 (10:33) 24-8 [异常的捕获及处理] RuntimeException类 (08:04) 24-9 [异常的捕获及处理] 断言 (05:39) 24-10 [异常的捕获及处理] 自定义异常类 (05:37) 25-1 [类图描述] 类图 (18:34) 25-2 [类图描述] 时序图 (06:45) 25-3 [类图描述] 用例图 (06:45) 26-1 [Eclipse开发工具] Eclipse简介 (21:56) 26-2 [Eclipse开发工具] 使用JDT开发Java程序 (33:47) 26-3 [Eclipse开发工具] junit测试工具 (09:51) 27-1 [Java5新特性] 可变参数 (10:31) 27-2 [Java5新特性] foreach循环 (06:04) 27-3 [Java5新特性] 静态导入 (06:26) 28-1 [泛型] 泛型问题引出 (24:51) 28-2 [泛型] 通配符 (16:28) 28-3 [泛型] 泛型接口 (05:00) 28-4 [泛型] 泛型方法 (04:29) 29-1 [Annotation] 多例设计模式与枚举 (09:45) 29-2 [Annotation] Enum与enum (08:30) 29-3 [Annotation] 枚举结构定义 (09:32) 29-4 [Annotation] 枚举应用 (03:57) 30-1 [Java8新特性] Annotation简介 (10:59) 30-2 [Java8新特性] 准确覆写 (04:02) 30-3 [Java8新特性] 过期声明 (03:25) 30-4 [Java8新特性] 压制警告 (03:44) 31-1 [Java8新特性] 接口定义增强 (12:37) 31-2 [Java8新特性] Lamda表达式 (17:50) 31-3 [Java8新特性] 方法引用 (17:53) 31-4 [Java8新特性] 内建函数式接口 (15:58)





