Что случилось с @OverridingMethodMustCallSuper в Java? - PullRequest
4 голосов
/ 09 декабря 2011

Мне это снилось?Я мог бы поклясться, что прочитал кое-что о Java 7, предоставив аннотацию, которую вы могли бы поместить в метод, чтобы все подклассы вызывали super.Было ли оно переименовано или удалено или никогда не рассматривалось?

Ответы [ 2 ]

4 голосов
/ 09 декабря 2011

Он был частью JSR 305: аннотации для обнаружения дефектов программного обеспечения и назывался @OverridingMethodsMustInvokeSuper.

JSR неактивен, но эталонная реализация доступна в комплекте с FindBugs

3 голосов
/ 09 декабря 2011

Это можно было бы предложить для проекта Coin, который принял много предложенных, но выбрал лучший / самый простой из списка.

Вы можете сделать это вместо этого.

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

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