Tengo dos clases de Java: B, que extiende otra clase A, como sigue:
class A {
public void myMethod() { /* ... */ }
}
class B extends A {
public void myMethod() { /* Another code */ }
}
Me gustaría llamar al A.myMethod()
de B.myMethod()
. Vengo del mundo de C ++ , y no sé cómo hacer esto en Java.
java
inheritance
methods
polymorphism
Creasixtina
fuente
fuente
Solo llámalo usando super.
fuente
La respuesta es la siguiente:
fuente
super.MyMethod()
debe llamarse dentroMyMethod()
de laclass B
. Entonces debería ser como siguefuente
llamar a super.myMethod ();
fuente
Estoy bastante seguro de que puede hacerlo utilizando el mecanismo de reflexión de Java. No es tan sencillo como usar super pero te da más poder.
fuente
Usa la palabra clave super .
fuente
llame a los métodos base con super palabra clave y pase los parámetros correspondientes.
fuente
fuente
Vea, aquí está anulando uno de los métodos de la clase base, por lo tanto, si desea llamar al método de la clase base desde la clase heredada, entonces debe usar la palabra clave super en el mismo método de la clase heredada.
fuente
Si utiliza estos métodos para la inicialización, utilice los constructores de la clase A y pase la palabra clave super dentro del constructor de la clase B.
O si desea llamar a un método de superclase desde el método de subclase, entonces debe usar la palabra clave super dentro del método de subclase como: super.myMethod ();
fuente
fuente