我们应该@Override接口的方法实现吗?
2022-08-31 04:27:05
实现接口方法的方法是否应使用 ?@Override
指示方法声明旨在重写超类中的方法声明。如果某个方法使用此批注类型进行批注,但不重写超类方法,则编译器需要生成错误消息。
我不认为接口在技术上是一个超类。还是?
实现接口方法的方法是否应使用 ?@Override
指示方法声明旨在重写超类中的方法声明。如果某个方法使用此批注类型进行批注,但不重写超类方法,则编译器需要生成错误消息。
我不认为接口在技术上是一个超类。还是?
应尽可能使用@Override。它可以防止犯简单的错误。例:
class C {
@Override
public boolean equals(SomeClass obj){
// code ...
}
}
这不会编译,因为它没有正确覆盖公共布尔等于(Object obj)。
。
实现接口(仅限 1.6 及更高版本)或重写 Super 类的方法也是如此。
我相信javac的行为已经改变 - 在1.5中,它禁止注释,而在1.6中,它没有。注释提供了额外的编译时检查,所以如果你使用的是1.6,我会选择它。