对子类中的方法使用@Override
注释。从基类中删除方法后,Eclipse和javac等工具将对那些不再覆盖的方法发出警告。
编辑:虽然您不能@Override
在 Java 1.5.0 之前使用,但有一个名为xdoclet
. 在 J2EE 和 EJB 2.1 时代,这被用来“模拟”注释并使用基于类似 javadoc 的标记的代码做一些神奇的事情。看看它,也许你可以使用它。
编辑 2:在 Java 1.4.x 中,您还可以使用 JavaDoc 标签{@inheritDoc}
进行这种验证。@Override
而不是用注释来注释你的方法@inheritDoc
,就像这样:
public class MyAwesomeClass extends BaseClass
{
/** {@inheritDoc} */
protected void myAweSomeMethod()
{
//...
}
}
现在,如果您更改或删除中的myAweSomeMethod
签名BaseClass
,您将收到来自 JavaDoc 工具的警告,类似于以下内容:
/home/npe/java-tests/MyAwesomeClass.java:4:警告 - 使用了@inheritDoc,但 myAwesomeMethod 没有覆盖或实现任何方法。