Это подсказка для компилятора, чтобы он знал, что вы переопределяете метод родительского класса (или интерфейса в Java 6).
Если компилятор обнаружит, что нет функции переопределения, он предупредит вас (или об ошибке).
Это очень полезно для быстрой идентификации опечаток или изменений API. Скажем, вы пытаетесь переопределить метод родительского класса harvest()
, но пишите его по буквам harvset()
, ваша программа будет беззвучно вызывать базовый класс, и без @Override
у вас не будет никаких предупреждений об этом.
Аналогичным образом, если вы используете библиотеку и во второй версии библиотеки, harvest()
был изменен для получения целочисленного параметра, вы больше не будете его переопределять. Опять же, @Override
быстро скажет вам.