Удаление методов суперкласса и удаление всех переопределяющих методов

#java #eclipse #inheritance

#java #затмение #наследование

Вопрос:

Изначально я создал абстрактный метод в суперклассе, который переопределяется во всех подклассах. Теперь я больше не хочу, чтобы этот метод был абстрактным, и я не хочу, чтобы подклассы переопределяли его. Есть ли простой способ удалить объявление метода в суперклассе и указать ему удалить все переопределяющие методы? Единственные быстрые исправления, которые я увидел, когда попробовал это сделать, заключались в воссоздании метода или удалении аннотации @Override, но ни то, ни другое я не хочу делать.

Есть какие-нибудь идеи?

Комментарии:

1. не делайте это абстрактным

2. Не существует автоматического способа удаления методов реализации. ответ @TimB — это то, что я собирался порекомендовать; это, вероятно, самое близкое, что вы найдете.

Ответ №1:

Когда вы удаляете его, то до тех пор, пока у вас была аннотация @override, вы немедленно получите сообщения об ошибках везде, где она перегружена.

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

(Это одна из причин, по которой был добавлен @override).

Комментарии:

1. Именно это я и делал. Я надеялся, что есть автоматизированный способ сделать это. Ну что ж…