如何静态检测丢失的@Override注释?

Bee*_*ope 10 java eclipse oop overriding static-analysis

在Java 5和Java 6之间,关于@Override源于接口(而不是超类)的方法的注释的规则被改变了 - 在它们被允许之前,但在它们之后.但是,javac 并不要求它们.

某些IDE(如eclipse)可能会为此类缺失的覆盖生成错误或警告.我正在寻找可以检测缺失覆盖的任何类型的静态分析工具,因此我可以以编程方式报告/阻止它们.

它似乎不像我所知道的任何大型的像findbugs,等人可以做到 - 可能是因为@Override只有源保留级别,因此不存在于这些工具运行的.class文件中,并且源级别像checkstyle这样的工具不了解完整的类层次结构.

Dee*_*zad 3

您只需在 Eclipse 中启用保存操作即可自动添加缺少的 @Override 注释 - 请参阅窗口 > 首选项 > Java > 编辑器 > 保存操作 > 缺少代码 > 添加缺少的注释。