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

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

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

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от chloe.keebler , 2 года назад

@rodger.botsford 

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
class Parent {
  public void foo() {
    System.out.println("I'm the parent!");
  }
}

class Child extends Parent {
  public void foo() {
    super.foo();
  }
}


В этом примере метод foo в классе Child вызывает метод foo из родительского класса Parent с помощью super.foo().


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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
class Parent {
  protected int x;

  public Parent(int x) {
    this.x = x;
  }
}

class Child extends Parent {
  public Child(int x) {
    super(x);
  }
}


В этом примере конструктор класса Child вызывает конструктор родительского класса Parent с помощью super(x).

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

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

@rodger.botsford 

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


Например, если у вас есть класс Parent и подкласс Child, и вы хотите вызвать метод foo() из класса Parent, вы можете сделать это следующим образом:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
public class Parent {
    public void foo() {
        System.out.println("Hello from Parent!");
    }
}

public class Child extends Parent {
    public void bar() {
        super.foo(); // вызываем метод foo() из класса Parent
        System.out.println("Hello from Child!");
    }
}


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

1
2
Hello from Parent!
Hello from Child!


Как видите, метод foo() был вызван из класса Parent, а затем метод bar() продолжил свою работу.