不添加“@Override”的后果是什么?

时间:2016-03-04 21:21:00

标签: java jaxb override parent-child

基于this well loved question我理解@Override注释是一个很好的编码实践,因此我们知道我们实际上正在覆盖正确的方法。但是,除了编码练习之外,没有做到这一点的后果是什么? Java中是否存在需要注释的基础内容?

我问,因为我使用XJC从XSD文件生成Java ActiveMQ消息文件。但是,为了在不进行手工编辑的情况下添加“@Override”,我需要使用XJC提供的单独插件,在我的情况下非常difficult knowing the dependencies。主要目标是使用XJC和我的Ant build.xml在构建时重新生成Java消息文件,而无需任何手动编辑。

2 个答案:

答案 0 :(得分:7)

Java运行时不需要它,它只是为了在编译时减少编码错误。

如果你正在生成代码,你可能会没有@Override注释,因为代码是生成的而不是手工编写的(所以在这个级别上人为错误的机会可能更少,例如错字)。 / p>

但是,如果将@Override方法放在生成的方法上,如果生成的代码不正确,则可以在编译时捕获。

答案 1 :(得分:1)

除了是一个好的练习并且在编译时突出遗留错误之外,它没有任何影响。

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Override {
}

<强> RetentionPolicy.SOURCE