Eu tenho duas classes Java: B, que estende outra classe A, da seguinte maneira:
class A {
public void myMethod() { /* ... */ }
}
class B extends A {
public void myMethod() { /* Another code */ }
}
Gostaria de chamar a A.myMethod()
partir B.myMethod()
. Eu sou do mundo C ++ e não sei como fazer isso em Java.
java
inheritance
methods
polymorphism
Creasixtine
fonte
fonte
Basta chamá-lo usando super.
fonte
A resposta é a seguinte:
fonte
super.MyMethod()
deve ser chamado dentroMyMethod()
doclass B
. Portanto, deve ser o seguintefonte
chame super.myMethod ();
fonte
Tenho certeza de que você pode fazer isso usando o mecanismo Java Reflection. Não é tão simples quanto usar super, mas oferece mais poder.
fonte
Use a super palavra - chave.
fonte
chame os métodos base com super palavra - chave e passe os respectivos parâmetros.
fonte
fonte
Veja, aqui você está substituindo um dos métodos da classe base; portanto, se você quiser chamar o método da classe base da classe herdada, precisará usar a super palavra - chave no mesmo método da classe herdada.
fonte
Se você estiver usando esses métodos para inicialização, use construtores da classe A e passe uma super palavra-chave dentro do construtor da classe B.
Ou, se você quiser chamar um método de superclasse a partir do método da subclasse, precisará usar a super palavra-chave dentro do método da subclasse como: super.myMethod ();
fonte
fonte