实现接口(interface)方法的方法是否应该用@Override
注解?
javadoc of the Override
annotation说:
Indicates that a method declaration is intended to override a method declaration in a superclass. If a method is annotated with this annotation type but does not override a superclass method, compilers are required to generate an error message.
我不认为接口(interface)在技术上是父类(super class)。还是这样?
Question Elaboration
您应该尽可能使用@Override。它可以防止犯简单的错误。示例:
class C {
@Override
public boolean equals(SomeClass obj){
// code ...
}
}
这不会编译,因为它没有正确覆盖 public boolean equals(Object obj)
.
同样适用于实现接口(interface)(仅限 1.6 及更高版本)或覆盖 Super 类的方法的方法。
我是一名优秀的程序员,十分优秀!