любая аннотация, эквивалентная @Override для переопределения (скрытия) статических методов? - PullRequest
4 голосов
/ 25 марта 2011

как объясняется здесь , в java статические методы не переопределяются, а скрываются дочерними реализациями

это означает, что вы не можете использовать аннотации @Override с ними

следующий код

@Override
public static void test(String value1, String value2) {

выдает эту ошибку компилятора.

The method test(String, String) of type Child must override or implement a supertype method Child.java

существует ли какая-нибудь эквивалентная аннотация, которую я мог бы использовать, чтобы убедиться, что мой класс "скрывает" существующий статический метод от родительского класса?

Ответы [ 2 ]

3 голосов
/ 25 марта 2011

Это просто: Нет.

Ознакомьтесь с списком стандартных аннотаций компилятора

1 голос
/ 25 марта 2011

Мне не известны какие-либо аннотации, которые вы можете добавить.Но простое создание метода с точно таким же именем и входами (одна и та же сигнатура метода) должно скрыть это.Единственный способ узнать наверняка - это узнать детали метода суперкласса, а затем, возможно, проверить свой метод ... Это все, что я могу придумать.Единственные другие аннотации, которые я могу придумать, - это подавить предупреждения, которые будут противоположны тому, что вы хотите, я представляю.Всякий раз, когда я скрываю такой метод, я обычно получаю предупреждение от своей IDE о том, что я скрываю другой метод.

...