当我实现一个接口(而不是覆盖一个抽象类)时,我需要放置@Override注解吗?
那么@Override注释实现了什么呢?
发布于 2011-04-01 05:15:18
在Java5中,在实现从接口继承的方法时不能添加@Override,在Java6中应该添加(否则会收到编译器警告)。
@Override断言某个方法旨在重写某些内容,并将使编译器通知您如果不是这样或不再是这种情况,例如,因为要重写的方法已被重命名。
发布于 2011-04-01 05:11:46
如果你说你覆盖了一些东西,而实际上你并没有这样做,它会破坏你的编译。
如果你不放一个@Override标签,但是根据编译器你没有覆盖任何东西,你就会有一个你不知道的静默bug。有了@Override标记,你就知道它了,而且你现在就知道了,而不是以后。
你永远不需要来放置@注解。但我建议你每次都这样做。
发布于 2011-04-01 05:12:16
@Override注释通知编译器该元素将覆盖在超类中声明的元素。
它不是必需的,但如果该方法实际上没有正确覆盖超类中的方法,它将生成编译错误。
https://stackoverflow.com/questions/5506373
复制相似问题