什么';这是Java 1.6中@Override注释的要点

什么';这是Java 1.6中@Override注释的要点,java,overriding,Java,Overriding,可能重复: 由于此注释,我一直遇到不兼容问题。不管怎样,拥有它有什么意义 简单地重写一个方法和重写一个方法+用@override注释它有什么区别?引用@overrideJavaDoc: 如果使用此注释类型对方法进行注释,但未重写超类方法,则需要编译器生成错误消息 因此,一个好的答案应该是“在编译时防止潜在的运行时错误”:-) 干杯,它清楚地表明一个方法应该覆盖父方法 如果您遇到问题,它表明您在父类中进行了许多不兼容的更改(没有让IDE为您这样做),或者您正在使用Java 5.0编译代码,如果您

可能重复:

由于此注释,我一直遇到不兼容问题。不管怎样,拥有它有什么意义


简单地重写一个方法和重写一个方法+用@override注释它有什么区别?

引用
@override
JavaDoc:

如果使用此注释类型对方法进行注释,但未重写超类方法,则需要编译器生成错误消息

因此,一个好的答案应该是“在编译时防止潜在的运行时错误”:-)


干杯,

它清楚地表明一个方法应该覆盖父方法


如果您遇到问题,它表明您在父类中进行了许多不兼容的更改(没有让IDE为您这样做),或者您正在使用Java 5.0编译代码,如果您正在实现一个接口,Java 5.0不允许此注释。

关键是如果您没有真正重写一个方法,则会启动一个错误

例如,你有

public class SuperClass {
  public void doSomething(int a) {
  }
}
扩展时可能会出错

public class SubClass {
  public void doSomething(String a) {
  }
}
现在您是否认为您已经重新实现了超类方法,但您刚刚添加了一个新方法


在方法声明之前添加
@Override
,将显示一个错误,这样您就知道有问题了。

类似的帖子可能会有所帮助: