Java面向对象编程的三大核心特性是封装、继承、多态:封装通过访问控制实现数据与行为的统一管理;继承支持类间代码复用与“is-a”关系建模;多态允许同一接口因实际对象类型不同而执行不同逻辑。

Java面向对象编程(OOP)的核心内容,主要包括类与对象、封装、继承、多态,以及配套的抽象、接口、包、访问控制等机制。其中最基础、最关键的是封装、继承、多态——这三大特性构成了OOP的骨架,也是理解Java设计思想的起点。
封装:把数据和操作“打包上锁”
封装就是把属性(数据)和方法(行为)组织进一个类里,并通过访问修饰符(如private、public)控制外部怎么访问。目的不是“藏起来”,而是“管起来”——防止误用,提升安全性和可维护性。
- 属性尽量设为private,外部不能直接读写
- 提供public的getter/setter方法,让调用方按规则访问
- 比如:一个Person类里private int age,但提供setAge(int a),内部可以加校验(如a > 0 && a ),避免年龄被设成-5或999
继承:子类自动获得父类的“家底”
继承体现的是“is-a”关系(比如“狗是一种动物”),子类通过extends关键字复用父类的属性和方法,同时可扩展新功能或重写已有逻辑。
- 子类继承public和protected成员,不继承private成员(但可通过父类提供的public方法间接使用)
- 构造器不会被继承,但子类构造器默认会先调用super()(父类无参构造)
- 注意:Java只支持单继承(一个类只能有一个直接父类),但可通过接口实现多重能力
多态:同一动作,不同对象有不同反应
多态指同一个引用(比如父类类型变量),在运行时根据实际指向的对象类型,自动调用对应的方法版本。它让程序更灵活、易扩展,是“开闭原则”的重要支撑。
立即学习“Java免费学习笔记(深入)”;
- 发生条件:有继承/实现关系 + 方法重写 + 父类引用指向子类对象(如Animal a = new Dog();)
- 调用方法时,编译看左边(父类有没有该方法),运行看右边(子类有没有重写)
- 举例:a.speak(),如果a实际是Dog对象,就执行Dog里的speak;如果是Cat对象,就执行Cat里的speak——调用方不用改代码,新增动物类也不影响原有逻辑
基本上就这些。封装管好“怎么用”,继承解决“怎么复用”,多态支撑“怎么扩展”。三者配合,让Java代码更清晰、更健壮、更容易应对变化。











