Java 继承基础 Extends 关键字与代码复用设计实战
Java中extends实现继承,子类自动获得父类public和protected成员,构造器需通过super()调用父类构造器。重写应在父类基础上扩展,保持签名一致并添加@Override注解。需注意字段遮蔽、private方法不可继承、静态方法隐藏等常见问题。
Ja va 中用 extends 实现继承,核心目标不是“多写一行代码”,而是让子类天然拥有父类的共性能力,并在需要时安全定制。它不是简单的复制粘贴,而是一套有规则、有边界、讲时机的复用机制。

简单说,extends 声明的是一种“is-a”关系:Dog 是 Animal,Employee 是 Person。这种语义决定了你是否该用继承——如果只是“有某个功能”(比如 Car 有 Engine),那就该用组合,而不是去 extends Engine。
那具体有哪些硬性规则?子类自动获得父类的 public、protected 以及同包下的 default 成员;private 成员不可见,当然也无法继承。构造器不会被子类继承,但子类必须通过 super() 显式或隐式调用父类构造器,而且 super() 必须是子类构造器的第一条语句。另外,static 方法不参与继承链,子类里写一个同名方法属于“隐藏”,不是重写。一个类只能 extends 一个父类——Ja va 不支持多继承,这一点从设计上就避免了 C++ 里菱形继承的坑。
字段和方法怎么真正复用起来
复用的前提是字段和方法对子类可见,而且在对象创建时能正确初始化。实操上可以这么做:把通用字段(比如 id、name、createTime)定义在父类里,用 protected 或 public 修饰;然后在父类构造器里完成这些字段的初始化,比如 this.id = System.nanoTime();。子类构造器第一行写 super() 或 super(args),保证父类部分先准备妥当。通用逻辑——比如校验、日志、序列化前处理——封装成 protected 方法,子类既可以直接调用,也可以按需重写。
重写(Override)要留出口,别断掉复用链
重写不是推倒重来,而是“在父类基础上加点自己的东西”。漏掉 super 调用,往往意味着丢失了关键逻辑。保持签名一致(方法名、参数列表、返回类型兼容)是基本要求,建议随手加上 @Override 注解——编译器会帮你检查拼写错误。若需要保留父类行为,务必显式写 super.methodName();只写 methodName() 会递归调用自己,导致栈溢出。访问权限不能更严格(比如父类是 protected,子类不能改成 private),但可以更宽松(比如改成 public)。另外,final 方法不可重写,static 方法只能隐藏,不能重写。
常见踩坑点,一踩一个准
很多编译错误或运行时异常,根源都在于对 extends 规则理解不到位。比如:父类只有带参构造器,子类没写 super(args),编译直接报错“Implicit super constructor is undefined”。在 super() 前使用 this.xxx 或普通语句,编译报错“Call to super() must be first statement”。子类定义了和父类同名的字段,会发生字段遮蔽——访问哪个值取决于引用类型,很容易误判。还有一种常见的误解:以为 private 方法能被子类继承或重写,实际上子类根本看不到它,也不存在重写一说。
掌握这些规则,继承才能真正成为代码复用的利器,而不是埋坑的源头。
Adobe Acrobat Pro 是面向办公、法务、财务、教育及出版用户的专业PDF处理软件,可在Mac上创建、编辑、转换、合并和保护文档,并提供OCR文字识别、表单、批注、内容比较、敏感信息遮盖及电子签名功能。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
Shapr3D是一款面向工业设计、机械工程、建筑概念和三维打印工作流的CAD软件。Mac版采用Parasolid建模内核,支持草图约束、实体建模、工程图、可视化渲染及常见CAD格式交换,并可通过账户在多台设备之间同步项目。
AutoCAD 是 Autodesk 推出的专业计算机辅助设计软件,Windows 版支持精确二维绘图、三维实体与曲面建模、图纸标注、布局发布和任务自动化,并包含多套行业专业化工具组合,适用于建筑、机械、电气、工程建设及制造设计人员。
Adobe Acrobat Pro 是面向专业 PDF 工作的综合解决方案,可在 Windows 中创建、编辑、转换、比较、整理和保护文档,并支持表单、电子签名、扫描件文字识别及敏感信息永久遮盖。订阅还包含网页、移动服务和云端协作能力,
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。













