Щоб скористатися перевіркою компілятора, ви завжди повинні використовувати замітку заміни. Але не забувайте, що Java Compiler 1.5 не дозволить отримати цю примітку при перегляді методів інтерфейсу. Ви просто можете використовувати його для зміни способів класу (абстрактних чи ні).
Деякі IDE, як Eclipse, навіть налаштовані під час виконання Java 1.6 або вище, вони підтримують відповідність Java 1.5 і не дозволяють використовувати @override, як описано вище. Щоб уникнути такої поведінки, потрібно перейти до: Властивості проекту -> Java-компілятор -> Поставити прапорець "Увімкнути специфічні параметри проекту" -> Вибрати "Рівень відповідності компілятора" = 6,0 або вище.
Мені подобається використовувати цю примітку щоразу, коли я переосмислюю метод самостійно, якщо базою є інтерфейс чи клас.
Це допомагає вам уникнути типових помилок, як, коли ви думаєте, що ви переосмислите обробник подій, і тоді ви не бачите нічого. Уявіть, що ви хочете додати слухача події до якогось компонента інтерфейсу:
someUIComponent.addMouseListener(new MouseAdapter(){
public void mouseEntered() {
...do something...
}
});
Вищенаведений код компілюється та запускається, але якщо ви перемістите мишу всередину деякогоUIComponent, код «зробіть щось» зазначатиме виконання, оскільки насправді ви не переосмислюєте базовий метод mouseEntered(MouseEvent ev)
. Ви просто створите новий метод без параметрів mouseEntered()
. Замість цього коду, якщо ви використовували @Override
примітку, ви побачили помилку компіляції, і ви не витрачали часу на роздуми, чому ваш обробник подій не працює.