封装是控制访问、保护数据,通过private隐藏属性并提供带校验的public getter/setter;继承体现is-a关系,支持单继承与多级继承,需注意构造器调用和访问修饰符限制;多态依赖继承、重写和父类引用指向子类对象,实现灵活扩展。

封装:控制访问,保护数据
封装的本质是把类的属性和行为打包成一个整体,对外隐藏内部细节,只暴露安全、可控的接口。最典型的做法是用 private 修饰成员变量,再提供 public 的 getter 和 setter 方法。
这样做不只是“写法规范”,而是有实际作用:
- 在 setter 中加入校验逻辑,比如年龄必须在 0–150 之间,避免非法值直接写入
- 后续修改内部存储方式(如把 age 改成由出生年份推算),只要方法签名不变,调用方完全不受影响
- 关键字段可设为 final,配合构造器完成一次性初始化,确保不可变性
继承:复用代码,构建层次
继承体现的是 is-a 关系,子类通过 extends 复用父类非私有的属性和方法。Java 只支持单继承,但允许多级继承(A → B → C)。
需要注意几个关键点:
- 构造方法不会被继承,子类默认调用父类无参构造;若父类没有无参构造,需显式用 super(...) 调用
- 能否继承,取决于访问修饰符:private 完全不可见,protected 和 public 可被所有子类访问,default 仅限同包子类
- 子类可通过 @Override 重写父类方法,实现行为定制,这是多态的基础
多态:统一接口,灵活调用
多态是指同一操作作用于不同对象时,能产生不同的执行结果。它依赖三个条件:继承(或实现接口)、方法重写、父类引用指向子类对象。
常见表现形式包括:
- 父类类型变量接收子类实例,运行时自动调用子类重写后的方法
- 方法参数接收父类类型,传入任意子类对象,方法体内部无需修改即可适配
- 集合中存入不同子类对象,遍历时统一调用相同方法名,各自执行差异化逻辑
多态让代码更易扩展——新增子类只需重写对应方法,原有调用逻辑无需改动。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











