Ключевое слово 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,
которое создает наследование классов -
раздел
наследование,
который описывает механизм наследования -
раздел
конструктор,
который описывает создание конструкторов