Рубрики
Без рубрики

Аннотация @Override Java

Посмотрите, как использовать аннотацию @Override на Java

Автор оригинала: Hakan Ozler.

1. Обзор

В этом быстром учебнике, мы будем смотреть на то, как использовать @Override аннотация.

2. @Override Аннотация

В подклассе мы можем переопределить или перегрузить методы экземпляра. Переопределение указывает на то, что подкласс заменяет унаследованное поведение. Перегрузка – это когда подкласс добавляет новое поведение.

Иногда мы перегружаемся случайно, когда на самом деле намеревались переопределить. Легко сделать эту ошибку в Java:

public class Machine {
    public boolean equals(Machine obj) {
        return true;
    }

    @Test
    public void whenTwoDifferentMachines_thenReturnTrue() {
        Object first = new Machine();
        Object second = new Machine();
        assertTrue(first.equals(second));
    }
}

Удивительно, но тест выше не удается. Это потому, что равняется метод перегрузки Объект равно , не переопределя его.

Мы можем использовать @Override аннотация о унаследованных методах, чтобы защитить нас от этой ошибки.

В этом примере мы можем добавить @Override аннотация над равняется метод:

@Override
public boolean equals(Machine obj) {
    return true;
}

На этом этапе компилятор поднимет ошибку, сообщив нам, что мы не переопределяем равняется как мы думаем.

Затем мы можем исправить нашу ошибку:

@Override
public boolean equals(Object obj) {
    return true;
}

Из-за того, как легко случайно перегрузиться, это общая рекомендация использовать @Override аннотация по всем унаследованным методам.

3. Заключение

В этом руководстве мы увидели, как @Override аннотации на Java.

Полный исходный код для примеров можно найти более на GitHub .