Java继承是子类自主扩展父类功能:子类可新增专属成员、重写父类方法、通过super调用父类构造器,并结合多态实现低风险动态扩展。

Java 继承机制本身不是“通过父类扩展子类功能”,而是子类在继承父类的基础上,自主实现功能扩展。父类不主动干预子类行为,它提供可复用的结构和契约;真正的扩展动作由子类发起并控制。
子类新增专属成员
子类可以直接定义父类没有的字段和方法,添加差异化能力:
- Dog 类增加
breed字段和bark()方法 - Cat 类增加
isIndoor属性和meow()行为 - 这些新增内容仅属于各自子类,不影响父类或其他子类
子类重写(override)父类方法
子类用 @Override 修饰同名、同参数、同返回类型的方法,替换父类逻辑:
- Animal 的
eat()是通用描述;Dog 重写后输出“吃骨头”,Cat 输出“吃鱼” - 重写后仍保持统一接口(调用
animal.eat()),但运行时行为由实际对象类型决定 - 若需保留父类逻辑,可用
super.eat()显式调用,再追加新动作
子类构造器中初始化父类状态
子类不能继承构造器,但必须通过 super(...) 确保父类部分正确构建:
- Animal 构造器负责设置
name和age - Dog 构造器第一行写
super(name, age),完成共性初始化 - 之后再处理 breed 等特有字段,实现“先共性、后个性”的组合式构建
结合多态实现动态扩展
扩展的价值在运行时体现:只要子类遵循父类约定,系统无需修改就能接纳新类型:
- 方法参数声明为
void feed(Animal a),传入 Dog 或 Cat 都能正常工作 - 集合使用
List,后续新增 Bird 子类后,直接加入列表即可 - 新增子类不破坏原有逻辑,扩展成本低、风险小
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











