Ответ
Ключевое слово super используется в классах-потомках для обращения к членам (полям, методам, конструкторам) родительского класса.
Основные случаи применения:
-
Вызов конструктора родительского класса:
class Child extends Parent { public Child(int value) { super(value); // Вызов конструктора Parent(int) } } -
Обращение к переопределенному методу:
@Override public void execute() { super.execute(); // Сначала выполнить логику родителя // ... затем добавить свою логику } -
Доступ к скрытому полю родителя (если поле в потомке его переопределило).
Зачем это нужно? super позволяет расширять, а не полностью заменять функциональность родительского класса, соблюдая принцип подстановки Лисков (LSP) и избегая дублирования кода.