Java的@OverridingMethodMustCallSuper发生了什么?

时间:2011-12-09 15:51:15

标签: java annotations override

我是否梦想过这个?我可以发誓我读了一些关于java 7的东西,提供了一个可以放在方法上的注释,以确保所有子类都调用super。这是重命名还是删除,还是从未实际考虑过?

2 个答案:

答案 0 :(得分:4)

它是JSR 305: Annotations for Software Defect Detection的一部分,名为@OverridingMethodsMustInvokeSuper

JSR处于非活动状态,但参考实施availableFindBugs捆绑在一起

答案 1 :(得分:3)

可能已经建议Coin项目,它接受了许多建议,但选择了最好/最简单的列表。

你可以这样做。

public final void method() {
     // super code
     subClassMethod();
}

protected void subClassMethod() {
    // can be overridden.
}