由于此注释,我一直遇到不兼容问题。无论如何,拥有它有什么意义?
简单地覆盖方法和覆盖方法+用@override注释它之间的区别是什么?
答案 0 :(得分:4)
引用@Override
JavaDoc:
如果使用此注释类型注释方法但不覆盖超类方法,则编译器需要生成错误消息。
所以一个好的答案是“在编译时防止潜在的运行时错误”: - )
干杯,
答案 1 :(得分:2)
关键是如果你没有真正重写方法,就会发出错误。
例如,你有
public class SuperClass {
public void doSomething(int a) {
}
}
扩展时可能会出错
public class SubClass {
public void doSomething(String a) {
}
}
现在你相信你已经重新实现了超类方法,但你刚刚添加了一个新方法。
在方法声明之前添加@Override
并显示错误,因此您知道有错误。
答案 2 :(得分:1)
它清楚地表明方法应该覆盖父方法。
如果遇到问题,建议您在父类中进行许多不兼容的更改(不让IDE为您执行此操作),或者您正在使用Java 5.0编译代码,如果您要实现,则不允许使用此注释界面。