Java: Как избежать предупреждения устаревшего в полученных интерфейсах, которые переопределяют участников устаревших?

Каждый отличается, и они могут иногда быть неясными. Как первый шаг, я сделал бы следующее:

  • управление исходным кодом Использования и часто сохраняют. Когда ошибка разработчика происходит, получите список всех изменений в затронутых средствах управления, которые недавно произошли и тестируют каждого, пока Вы не находите преступника
  • убедиться проверить стандартные программы инициализации включенных средств управления. Очень часто эти ошибки произойдут из-за некоторой ошибки или плохой зависимости, которую называют через конструктора по умолчанию для управления (ошибка, которая может только проявиться в VS)
12
задан Daniel Fortunov 31 July 2009 в 16:05
поделиться

3 ответа

Я считаю, что ваше требование справедливо, я не сомневаюсь, что переопределение устаревшего метода - правильный путь.

Я считаю, что разница между @deprecated и @Deprecated в основном историческая. @Deprecated - это официальный способ в java 5, но он новый, поэтому ожидается, что мы удвоим его с помощью @deprecated.

Также обратите внимание, что, к сожалению, @Deprecated не позволяет вам указывать информацию ... хотя информация обычно требуется, например, чтобы указать, что следует использовать в качестве замены, или когда устаревший метод, как ожидается, будет полностью удален .

Не зная больше и зная, что проблема исчезнет, ​​как только вы эффективно удалите супер-метод, я бы использовал @SuppressWarnings («устаревание»), возможно, с комментарием, чтобы ваши преемники поняли ... (и еще один комментарий к супер методу, чтобы сказать им удалить все это при удалении метода). ; -)

11
ответ дан 2 December 2019 в 20:18
поделиться

, если я правильно понимаю, вам понадобится @SuppressWarnings («устаревание») в начале ваших классов, реализующих устаревший интерфейс / функцию. Или я здесь далеко от базы?

3
ответ дан 2 December 2019 в 20:18
поделиться

Невозможно выполнить то, что вы хотите.

Устаревание - это относительно простой механизм, который не поддерживает этот вариант использования.

Устаревание работает так, что все, что ссылается на устаревший метод или поле, генерирует предупреждение.

Единственное исключение - если код, использующий устаревший метод / поле, сам устарел.

-1
ответ дан 2 December 2019 в 20:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: