Как вызвать метод родительского класса в java?

Пользователь

от lilla.herman , в категории: Java , 3 года назад

Как вызвать метод родительского класса в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jaylen.trantow , 2 года назад

@lilla.herman 

В Java, чтобы вызвать метод родительского класса, вы можете использовать ключевое слово super. Например, у вас есть класс Child с методом foo, который хочет вызвать метод foo родительского класса Parent. В этом случае вы можете использовать следующий код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
class Parent {
    public void foo() {
        // реализация метода foo
    }
}

class Child extends Parent {
    @Override
    public void foo() {
        super.foo();
        // дополнительная реализация метода foo
    }
}


В этом примере метод foo в классе Child переопределяет (overrides) метод foo в родительском классе Parent. В реализации метода foo в классе Child мы вызываем метод foo родительского класса с помощью ключевого слова super. Это позволяет выполнить реализацию метода foo в родительском классе, а затем добавить к ней дополнительную реализацию в классе Child.


Обратите внимание, что вы можете вызывать метод

Пользователь

от clifford , 2 года назад

@lilla.herman 

Для вызова метода родительского класса в Java используется ключевое слово super.


Чтобы вызвать конструктор родительского класса, используйте ключевое слово super с параметрами конструктора в первой строке конструктора дочернего класса:

1
2
3
4
5
6
public class ChildClass extends ParentClass {
    public ChildClass(int parameter1, int parameter2) {
        super(parameter1); // вызов конструктора родительского класса с одним параметром
        // другой код дочернего класса
    }
}


Чтобы вызвать метод родительского класса из метода дочернего класса, используйте super с именем метода и параметрами, если метод принимает аргументы:

1
2
3
4
5
6
public class ChildClass extends ParentClass {
    public void childMethod() {
        super.parentMethod(); // вызов метода родительского класса без аргументов
        // другой код дочернего класса
    }
}


Обратите внимание, что ключевое слово super может использоваться только внутри дочернего класса и только для вызова методов и конструкторов родительского класса.