В Java, как мне вызвать метод базового класса из метода переопределения в производном классе?

У меня есть два класса Java: B, который расширяет другой класс A следующим образом:

class A
{
    public void myMethod()
    { /* ... */ }
}

class B extends A
{
    public void myMethod()
    { /* Another code */ }
}

Я хотел бы назвать A.myMethod() из B.myMethod(). Я исхожу из мира С++, и я не знаю, как это сделать в Java:( Если кто-то может помочь:) Спасибо.

Ответ 2

Просто назовите его с помощью супер.

public void myMethod()
{
    // B stuff
    super.myMethod();
    // B stuff
}

Ответ 3

Ответ выглядит следующим образом:

super.Mymethod();
super();                // calls base class Superclass constructor.
super(parameter list);          // calls base class parameterized constructor.
super.method();         // calls base class method.

Ответ 4

super.MyMethod() следует вызывать внутри MyMethod() class B. Таким образом, это должно быть следующим образом

class A
{
    public void myMethod()
    { /* ... */ }
}

class B extends A
{
    public void myMethod()
    { 
     super.MyMethod();
     /* Another code */ }
}

Ответ 5

Я уверен, что вы можете сделать это, используя механизм Java Reflection. Это не так просто, как использование супер, но оно дает вам больше энергии.

class A
{
    public void myMethod()
    { /* ... */ }
}

class B extends A
{
    public void myMethod()
    {
        super.myMethod(); // calling parent method
    }
}

Ответ 6

вызов super.myMethod();

Ответ 7

Используйте ключевое слово super.

Ответ 8

super.baseMethod(params);

вызовите базовые методы с ключевым словом super и передайте соответствующие параметры.

Ответ 9

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

Ответ 10

class test
{
    void message()
    {
        System.out.println("super class");
    }
}

class demo extends test
{
    int z;
    demo(int y)
    {
        super.message();
        z=y;
        System.out.println("re:"+z);
    }
}
class free{
    public static void main(String ar[]){
        demo d=new demo(6);
    }
}

Ответ 11

   //Using super keyword access parent class variable
class test
    {
    int is,xs;
    test(int i,int x)
    {
    is=i;
    xs=x;
    System.out.println("super class:");
    }
    }
    class demo extends test
    {
        int z;
    demo(int i,int x,int y)
    {
    super(i,x);
    z=y;
    System.out.println("re:"+is);
     System.out.println("re:"+xs);
    System.out.println("re:"+z);
    }
    }
    class free{
    public static void main(String ar[]){
    demo d=new demo(4,5,6);

    }
    }

Ответ 12

Если вы используете эти методы для инициализации, используйте конструкторы класса A и передайте супер ключевое слово внутри конструктора класса B.

Или, если вы хотите вызвать метод суперкласса из метода подкласса, вам нужно использовать супер ключевое слово внутри метода подкласса, например: super.myMethod();