Что такое переопределение (override) метода?

Этот вопрос объясняет механизм замены реализации метода в подклассе для изменения его поведения.

Короткий ответ

Переопределение — это предоставление новой реализации метода в подклассе, который уже определен в родительском классе. Оно используется для создания специализированного поведения в подклассе.

Длинный ответ

Переопределение позволяет подклассу изменить реализацию метода, определенного в суперклассе, сохраняя его сигнатуру (имя, параметры и возвращаемый тип).

 

Ключевые моменты:

- Метод должен иметь ту же сигнатуру (имя, параметры, возвращаемый тип).

- Переопределенный метод не может быть менее доступным, чем в суперклассе.

- Использование аннотации @Override помогает избежать ошибок.

 

Пример:

class Animal {
    void sound() {
        System.out.println("Animal makes a sound");
    }
}
class Cat extends Animal {
    @Override
    void sound() {
        System.out.println("Cat meows");
    }
}
public class Main {
    public static void main(String[] args) {
        Animal animal = new Cat();
        animal.sound(); // Вывод: Cat meows
    }
}

 

Когда использовать:
- Переопределение полезно, когда нужно изменить или уточнить поведение метода в подклассе.


Переопределение обеспечивает динамический полиморфизм, позволяя объектам вести себя по-разному в зависимости от их типа.

Уровень

  • Рейтинг:

    3

  • Сложность:

    6

Навыки

  • Java

Ключевые слова

Подпишись на Java Developer в телеграм