缺少 Override 注释¶
ID: java/missing-override-annotation
Kind: problem
Security severity:
Severity: recommendation
Precision: high
Tags:
- maintainability
Query suites:
- java-security-and-quality.qls
Java 允许您注释旨在覆盖超类中的方法的方法。如果此类带注释的方法未覆盖超类中的方法,编译器需要生成错误,这可以提供免受潜在缺陷的更多保护。带注释的方法还可以提高代码的可读性。
建议¶
将 @Override
注释添加到旨在覆盖超类中的方法的方法。
示例¶
在以下示例中,Triangle.getArea
覆盖 Rectangle.getArea
,因此使用 @Override
进行了注释。
class Rectangle
{
private int w = 10, h = 10;
public int getArea() {
return w * h;
}
}
class Triangle extends Rectangle
{
@Override // Annotation of an overriding method
public int getArea() {
return super.getArea() / 2;
}
}
参考¶
J. Bloch,Effective Java(第二版),第 36 项。Addison-Wesley,2008 年。
帮助 - Eclipse 平台:Java 编译器错误/警告首选项。
Java API 规范:注释类型 Override。
Java 教程:预定义注释类型。