java面向对象编程的四大核心特性是封装、继承、多态和抽象。封装通过访问修饰符隐藏内部实现并暴露接口;继承用extends实现单继承以建立“is-a”关系;多态依赖重写与向上转型实现同一操作不同行为;抽象通过抽象类和接口定义契约并延迟实现。

Java 面向对象编程(OOP)的核心特性是封装、继承、多态和抽象。这四个特性不是孤立概念,而是相互支撑、共同构成 OOP 设计思想的基础骨架。
封装:隐藏实现,暴露接口
封装的本质是把数据(属性)和操作数据的方法(行为)捆绑在一起,并限制外部对内部细节的直接访问。Java 通过 访问修饰符(private、protected、public、默认包级)控制可见性,强制使用者通过公开方法(如 getter/setter)与对象交互。
- 好处:提高安全性(防止非法修改)、增强可维护性(内部逻辑变更不影响调用方)、支持后期重构
- 典型实践:成员变量尽量设为 private;提供有意义的 public 方法来读写或操作状态;避免直接暴露集合类引用(应返回不可变副本或只读视图)
继承:复用代码,建立类型关系
继承允许一个类(子类)基于另一个类(父类)扩展功能,体现“is-a”语义关系。Java 使用 extends 关键字实现单继承,同时通过 implements 支持多接口实现。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- 注意:Java 不支持多继承类,但可通过组合 + 接口实现更灵活的复用
- 关键机制:方法重写(override)、super 调用父类构造器或方法、子类自动获得父类非私有成员
- 设计建议:优先考虑“has-a”(组合)而非“is-a”(继承),避免继承层次过深;继承应服务于语义一致性,而非单纯代码复用
多态:同一操作,不同行为
多态指同一个引用变量在不同运行时状态下,调用相同方法产生不同执行结果的能力。它依赖于继承或接口实现 + 方法重写 + 向上转型 + 动态绑定四个条件。
- 常见形式:父类引用指向子类对象(Animal a = new Dog(); a.speak();)
- 核心价值:解耦调用方与具体实现,提升系统扩展性(新增子类无需修改原有调用逻辑)
- 注意:静态方法、私有方法、构造器不参与多态;编译看左边(引用类型),运行看右边(实际对象类型)
抽象:定义契约,延迟实现
抽象通过 抽象类 和 接口 实现,用于提取共性、屏蔽差异,明确“做什么”,而将“怎么做”留给子类或实现类。
- 抽象类:用 abstract 声明,可含抽象方法和具体方法,支持构造器、成员变量、静态方法;子类必须实现全部抽象方法(除非自身也声明为 abstract)
- 接口(Java 8+):默认是 public abstract 方法,还可定义 default 和 static 方法;类可实现多个接口;从 Java 9 起支持 private 方法辅助 default 方法逻辑复用
- 选择原则:强调“是什么”(类型契约)优先用接口;需要共享代码或构造流程时选抽象类;现代 Java 开发中常组合使用(如接口定义能力,抽象类提供通用实现)
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










