Для чего используется ключевое слово super в ООП?

«Для чего используется ключевое слово super в ООП?» — вопрос из категории ООП, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Ключевое слово super используется в классах-потомках для обращения к членам (полям, методам, конструкторам) родительского класса.

Основные случаи применения:

  1. Вызов конструктора родительского класса:

    class Child extends Parent {
        public Child(int value) {
            super(value); // Вызов конструктора Parent(int)
        }
    }
  2. Обращение к переопределенному методу:

    @Override
    public void execute() {
        super.execute(); // Сначала выполнить логику родителя
        // ... затем добавить свою логику
    }
  3. Доступ к скрытому полю родителя (если поле в потомке его переопределило).

Зачем это нужно? super позволяет расширять, а не полностью заменять функциональность родительского класса, соблюдая принцип подстановки Лисков (LSP) и избегая дублирования кода.