#java #eclipse #inheritance
#java #затмение #наследование
Вопрос:
Изначально я создал абстрактный метод в суперклассе, который переопределяется во всех подклассах. Теперь я больше не хочу, чтобы этот метод был абстрактным, и я не хочу, чтобы подклассы переопределяли его. Есть ли простой способ удалить объявление метода в суперклассе и указать ему удалить все переопределяющие методы? Единственные быстрые исправления, которые я увидел, когда попробовал это сделать, заключались в воссоздании метода или удалении аннотации @Override, но ни то, ни другое я не хочу делать.
Есть какие-нибудь идеи?
Комментарии:
1. не делайте это абстрактным
2. Не существует автоматического способа удаления методов реализации. ответ @TimB — это то, что я собирался порекомендовать; это, вероятно, самое близкое, что вы найдете.
Ответ №1:
Когда вы удаляете его, то до тех пор, пока у вас была аннотация @override, вы немедленно получите сообщения об ошибках везде, где она перегружена.
Достаточно просто перейти к каждому сообщению об ошибке и удалить его вручную.
(Это одна из причин, по которой был добавлен @override).
Комментарии:
1. Именно это я и делал. Я надеялся, что есть автоматизированный способ сделать это. Ну что ж…