Sobes.tech
Назад к вопросам
Junior — Middle
133

Можете объяснить концепцию переопределения методов в языке Java?

Компании, где спрашивали
ГосуслугиГосуслуги

Ответ от нейросети

sobes.tech AI

Переопределение методов в Java — это механизм, позволяющий подклассу предоставить свою реализацию метода, который уже определён в суперклассе.

Основные моменты:

  • Метод в подклассе должен иметь ту же сигнатуру (имя, параметры) и возвращаемый тип (или совместимый).
  • Модификатор доступа не может быть более строгим, чем у метода суперкласса.
  • Позволяет реализовать полиморфизм: при вызове метода через ссылку на суперкласс будет вызван метод подкласса.

Пример:

class Animal {
    void sound() {
        System.out.println("Some sound");
    }
}

class Dog extends Animal {
    @Override
    void sound() {
        System.out.println("Bark");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal animal = new Dog();
        animal.sound(); // Выведет "Bark"
    }
}

Здесь метод sound переопределён в классе Dog, что позволяет изменить поведение.