实现接口方法的方法是否应该用 @Override
注释?
指示方法声明旨在覆盖超类中的方法声明。如果使用此注释类型对方法进行注释但未覆盖超类方法,则编译器需要生成错误消息。
我不认为接口在技术上是超类。或者是吗?
问题阐述
原文由 Benno Richters 发布,翻译遵循 CC BY-SA 4.0 许可协议
实现接口方法的方法是否应该用 @Override
注释?
指示方法声明旨在覆盖超类中的方法声明。如果使用此注释类型对方法进行注释但未覆盖超类方法,则编译器需要生成错误消息。
我不认为接口在技术上是超类。或者是吗?
问题阐述
原文由 Benno Richters 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
您应该尽可能使用@Override。它可以防止犯简单的错误。例子:
这不会编译,因为它没有正确覆盖
public boolean equals(Object obj)
。这同样适用于实现接口( 仅限 1.6 及更高版本)或覆盖超类方法的方法。