РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
66 of 1163 menu

Ключевое слово super

Ключевое слово super в Java используется для обращения к членам родительского класса из дочернего. С его помощью можно вызвать конструктор суперкласса, обратиться к полю или методу, которые были переопределены или скрыты в текущем классе. В первом параметре конструктора super передаются аргументы, соответствующие параметрам конструктора родительского класса, во втором - дополнительные аргументы, если у суперкласса несколько конструкторов.

Синтаксис

super(); super(argument1, argument2, ...); super.methodName(); super.fieldName;

Пример

Давайте рассмотрим вызов конструктора суперкласса с помощью super:

class Parent { Parent(String message) { System.out.println("Parent: " + message); } } class Child extends Parent { Child() { super("hello"); System.out.println("Child constructor"); } } public class Main { public static void main(String[] args) { Child child = new Child(); } }

Результат выполнения кода:

"Parent: hello" "Child constructor"

Пример

Давайте вызовем переопределенный метод родительского класса с помощью super:

class Parent { void show() { System.out.println("Parent method"); } } class Child extends Parent { @Override void show() { super.show(); System.out.println("Child method"); } } public class Main { public static void main(String[] args) { Child child = new Child(); child.show(); } }

Результат выполнения кода:

"Parent method" "Child method"

Пример

Давайте обратимся к полю родительского класса, которое скрыто полем дочернего класса:

class Parent { String name = "parent"; } class Child extends Parent { String name = "child"; void printNames() { System.out.println(super.name); System.out.println(this.name); } } public class Main { public static void main(String[] args) { Child child = new Child(); child.printNames(); } }

Результат выполнения кода:

"parent" "child"

Смотрите также

  • ключевое слово this,
    которое ссылается на текущий объект
  • ключевое слово extends,
    которое создает наследование классов
  • раздел наследование,
    который описывает механизм наследования
  • раздел конструктор,
    который описывает создание конструкторов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить