在 Java 5 和 Java 6 之间,关于源自接口(而不是超类)的方法的注释规则@Override
发生了变化——在它们被禁止之前,但在它们被允许之后。但是,javac不需要它们。
某些 IDE,如 eclipse,可能会为此类丢失的覆盖生成错误或警告。我正在寻找可以检测丢失覆盖的任何类型的静态分析工具,因此我可以以编程方式报告/阻止它们。
它似乎不像我所知道的任何大的,比如 findbugs,等人可以做到 - 可能是因为@Override
只有源保留级别,所以在这些工具运行的 .class 文件中不存在,源级别checkstyle 等工具无法理解完整的类层次结构。