--- title: Java面向对象 tags: - module - java - oop - joplin type: module source_type: reconstructed created: 2026-04-22 updated: 2026-04-22 --- # Java面向对象 > [!abstract] > 这一模块是 Java 的核心。真正掌握 Java,不只是会写类,而是理解对象如何封装状态与行为,以及继承、多态、抽象如何支撑程序扩展。 ## 模块结论 - [[Java类与对象]] 是一切面向对象组织方式的起点。 - 封装、[[继承与多态]]、[[抽象类与接口]] 共同解决复用、扩展和统一抽象的问题。 - 面向对象不是语法花样,而是组织复杂程序的主方法。 - 综合练习的价值在于把类设计、对象协作和抽象规则落到可运行的小系统中。 ## 一、类与对象 - 类是抽象描述,对象是具体实例。 - 成员变量描述状态,成员方法描述行为。 - 对象创建后通过引用访问成员。 ### 要抓住的本质 - 类不是对象本身,而是对象的“蓝图”。 - 一个类可以创建多个对象。 - 成员变量和局部变量在位置、生命周期和默认值上都不同。 ## 二、封装 - 对象应封装自己的数据和操作。 - 常见做法是属性私有化,提供访问方法。 - 封装不是“必须写 getter/setter”,而是控制访问边界。 ## 三、继承 - 子类复用父类已有成员。 - `extends` 表示继承关系。 - 子类可以新增成员,也可以重写父类行为。 ### 复习重点 - 继承是“is-a”关系,不是简单代码复制。 - `super` 用于访问父类构造或成员。 - `static` 成员属于类,不属于某个对象。 ## 四、多态 - 同一父类引用可以指向不同子类对象。 - 编译时看左边,运行时看右边。 - 多态让统一接口下的不同实现成为可能。 ## 五、抽象类、接口、内部类 ### 抽象类 - 用于表达“有共性但不完整”的父类模板。 - 可以有抽象方法,也可以有普通成员。 ### 接口 - 表达一种能力或规范。 - 更强调行为约定,而不是共享状态。 ### 内部类 - 用于让某些类与外部类形成更紧密的组织关系。 ## 六、综合练习为什么重要 - `10.面向对象综合练习` 与 `17.面向对象综合练习` 不是重复材料,而是把类设计、职责拆分和对象协作真正串起来的训练。 - 只有进入案例,才会暴露“知道概念但不会建模”的问题。 ## 七、易错点 - 不要把封装理解成“把属性设成 private 就结束”。 - 继承是语义关系,不是为了少写代码而滥用。 - 抽象类和接口都能抽象,但它们关注点不同。 - 多态的前提是继承或实现关系,不是引用类型随便转换。 ## 八、复习提问 - 类与对象分别是什么? - 封装、继承、多态分别在解决什么问题? - 抽象类和接口的边界是什么? ## 来源 - [[raw/Joplin/编程学习项目/Java学习笔记/Java基础--上部/9. 类和对象.md]] - [[raw/Joplin/编程学习项目/Java学习笔记/Java基础--上部/10.面向对象综合练习.md]] - [[raw/Joplin/编程学习项目/Java学习笔记/Java基础--上部/14.面向对象进阶(static&继承).md]] - [[raw/Joplin/编程学习项目/Java学习笔记/Java基础--上部/15.面向对象进阶(多态&包&final&权限修饰符&代码块).md]] - [[raw/Joplin/编程学习项目/Java学习笔记/Java基础--上部/16.面向对象进阶(抽象类&接口&内部类).md]] - [[raw/Joplin/编程学习项目/Java学习笔记/Java基础--上部/17.面向对象综合练习.md]] ## 相关页面 - [[Java]] - [[Java类与对象]] - [[继承与多态]] - [[抽象类与接口]]