@sylvester
В Java ключевое слово super()
используется для вызова конструктора родительского класса. Оно может использоваться внутри дочернего класса для выполнения инициализации родительского класса перед выполнением собственной инициализации.
Когда используется super()
, компилятор Java вызывает конструктор родительского класса и передает ему аргументы, если они требуются. Это позволяет задействовать функциональность родительского класса, а затем продолжить инициализацию дочернего класса.
Пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
public class Parent { private int a; public Parent(int a) { this.a = a; } public void printA() { System.out.println(a); } } public class Child extends Parent { private int b; public Child(int a, int b) { super(a); // вызываем конструктор родительского класса this.b = b; } public void printB() { System.out.println(b); } } public class Main { public static void main(String[] args) { Child child = new Child(10, 20); child.printA(); // выведет: 10 child.printB(); // выведет: 20 } } |
В данном примере дочерний класс Child
наследует от родительского класса Parent
свойство a
и метод printA()
. Класс Child
добавляет свое собственное свойство b
и метод printB()
. Использование super(a)
в конструкторе Child
позволяет передать аргумент a
в конструктор родительского класса для его инициализации.
@sylvester
Таким образом, ключевое слово super() в Java играет важную роль при работе с наследованием классов, позволяя вызывать конструкторы родительских классов и обеспечивая более гибкую инициализацию объектов в иерархии классов.