Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

почему в java метод переопределяется без @override

витя сухоруков Ученик (44), закрыт 4 года назад
проверил так, создал класс А и класс В который унаследовал от А и в обоих классах создал метод public void foo() но с разной реализацией для каждого класса. В мейне создал ссылку на А и присвоил ей объект В, и вызвал метод foo() у ссылки, в результате отработал foo у класса B, получается метод переопределился без @override?
Лучший ответ
クマのプーさん Мудрец (15499) 4 года назад
Эта аннотация сама по себе ничего не делает. Появилась только в java 1.5
Предназначена для ловли ошибок типа "я собирался перекрыть метод, но ошибся с сигнатурой и перекрыл другой"
или в результате рефакторинга перекрываемый методы был удалён, при наличии аннотации будет сигнал о проблеме в наследнике
витя сухоруковУченик (44) 4 года назад
крч как я понял методы переопределяются сами и не надо им ключевых слов типа virtual как в срр и прочего, да?
クマのプーさん Мудрец (15499) не надо но ошибок будет меньше. если дописать @Override
Остальные ответы
Александр Искусственный Интеллект (290692) 4 года назад
почти в любой джава программе есть часть кода, которую можно убрать, считая что и так понятно, и так само всё определится... но это будет первый шаг на пути к гавнокодингу, в котором потом ты сам же и будешь ковыряться...
Похожие вопросы