尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

靠谱的程序员推荐阅读-----《阿里Java开发手册》【强制】所有的覆写方法,必须加@Override注解

靠谱的程序员推荐阅读-----《阿里Java开发手册》【强制】所有的覆写方法,必须加@Override注解
📅 发布时间:2026/6/20 9:56:14

靠谱的程序员推荐阅读----->《阿里Java开发手册》【强制】所有的覆写方法,必须加@Override注解

将程序错误前置扼杀在编译期,是这个规约对我们开发者带来的最大的收益。

《阿里巴巴Java开发手册》编程规约->OOP规约 其中有一条,强制要求所有覆写方法添加 @Override 注解。

《阿里巴巴Java开发手册》编程规约->OOP规约

这是一项非常重要的编码规范。它主要有以下几个核心目的和好处:

📌 1. 编译时检查覆写是否正确

@Override 注解会让编译器检查该方法是否确实成功覆写了父类(或接口)中的方法。如果方法签名与父类方法不一致(例如,方法名拼写错误、参数类型或数量不匹配、返回值类型不兼容等),编译器会立即报错,防止潜在的运行时错误 。

  • 经典案例:getObject()(字母O)与 get0bject()(数字0)的问题。肉眼难以分辨,但加上 @Override 后,如果拼写错误导致并未成功覆写,编译器就会提示错误,从而避免误以为覆写成功而实际调用了父类方法的情况 。

🔍 2. 增强代码可读性和可维护性

当其他开发者阅读代码时,@Override 注解提供了一个清晰的视觉信号,表明“这是一个覆写自父类或接口的方法”,而不是一个子类自行定义的新方法。这有助于快速理解类的层次结构和设计意图 。

⚡ 3. 应对父类或接口的变更

当父类(尤其是抽象类)或接口的方法签名发生修改时(例如,方法名更改、参数调整),所有加了 @Override 注解的实现类方法会立即编译报错。这迫使开发者必须同步检查并更新实现逻辑,确保了代码在重构过程中的一致性和安全性,避免了“方法找不到”或行为不一致的运行时异常(如 NoSuchMethodError)。

⚠️ 4. 覆写方法的基本规则

在使用 @Override 注解时,也需遵循Java语言本身的覆写规则 :

  • 方法名、参数列表必须完全相同。
  • 返回值类型:子类方法的返回值类型必须与父类方法相同或是其子类型(协变返回类型)。
  • 访问权限:子类方法的访问权限不能比父类方法更严格(即不能缩小访问范围)。例如,父类方法是 protected,子类覆写时可以是 protected 或 public,但不能是 private 或默认(包级)权限。
  • 异常:子类方法抛出的受检异常不能比父类方法抛出的更通用。
  • 无法覆写的情况:无法覆写被 private、static 或 final 修饰的方法。

💎 总结

为所有覆写方法添加 @Override 注解,是一个低成本、高回报的最佳实践。它充分利用编译器的静态检查能力,在开发阶段早期就能发现因拼写错误或签名不匹配导致的问题,极大提升了代码的健壮性和可维护性,是团队协作和代码质量保障中非常重要的一环。

【附】《阿里巴巴Java开发手册》主要版本时间线

《阿里巴巴Java开发手册》是阿里巴巴集团技术团队与社区开发者共同智慧的结晶,旨在提升代码质量、协作效率和系统稳定性。它涵盖了编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程结构、设计规约等多个维度。(获取最新版本的手册,可关注阿里巴巴的官方技术社区或发布渠道(如阿里云云效平台、GitHub仓库 alibaba/p3c)。许多技术社区也会不定期分享相关资源。)

版本号 版本名称 发布日期 主要更新与特点
- 试读版 2016年12月07日 首次对外发布试读版本。
1.0.0 公开版 2016年12月 首个公开版本。
1.1.0 正式版 2017年02月09日 阿里巴巴集团正式对外发布。
1.3.0 终极版 2017年09月25日 增加单元测试规约,并发布了阿里开源的IDE代码规约检测插件。
1.4.0 详尽版 2018年05月20日 增加设计规约大类,共16条。
1.5.0 华山版 2019年06月19日 移除了“阿里巴巴”限定词,强调是社区开发者集体智慧的结晶。新增21条新规约,修改描述112处。
1.6.0 泰山版 2020年04月22日 发布错误码统一解决方案,新增34条新规约(如日期闰年闰月、三目运算拆箱、SQL表别名限定等),修改描述90处。
1.7.0 嵩山版 2020年08月03日 新增前后端规约14条,新增禁止歧视性用语等约定,修正了BigDecimal比较、HashMap扩容等描述。
1.7.1 黄山版 2022年02月 新增11条新规约,如浮点数后缀大写、枚举属性字段私有不可变、配置文件密码加密等。修正了嵩山版中的部分代码格式和描述错误。


当看到一些不好的代码时,会发现我还算优秀;当看到优秀的代码时,也才意识到持续学习的重要!--buguge
本文来自博客园,转载请注明原文链接:https://www.cnblogs.com/buguge/p/19108191


相关新闻

  • 杆状病毒表达系统为何成为蛋白表达首选
  • 日记3
  • Ansible + Docker 部署 Zookeeper 集群

最新新闻

  • 给智能体配私有知识库防瞎编实操清单
  • 【Web安全】从HNCTF 2022题解看常见Web漏洞实战利用与防御
  • 积木家装修的六好整装是什么?方案、效果、功能、质量、保障、价格全解析 - 资讯速览
  • 天河区专业搬家公司推荐 居民搬家企业搬迁全包服务指南 - 从来都是英雄出少年
  • R3nzSkin国服换肤工具完整指南:内存级皮肤修改实战应用
  • 2026无锡黄金回收商户权威排名 本地闲置黄金变现避雷手册 - 资讯速览

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号