J'ai deux classes Java: B, qui étend une autre classe A, comme suit:
class A {
public void myMethod() { /* ... */ }
}
class B extends A {
public void myMethod() { /* Another code */ }
}
Je voudrais appeler le A.myMethod()
de B.myMethod()
. Je viens du monde C ++ et je ne sais pas comment faire cette chose basique en Java.
java
inheritance
methods
polymorphism
Creasixtine
la source
la source
Appelez-le simplement en utilisant super.
la source
La réponse est la suivante:
la source
super.MyMethod()
doit être appelé à l'intérieurMyMethod()
duclass B
. Donc ça devrait être comme suitla source
appelez super.myMethod ();
la source
Je suis presque sûr que vous pouvez le faire en utilisant le mécanisme Java Reflection. Ce n'est pas aussi simple que d'utiliser super mais cela vous donne plus de puissance.
la source
Utilisez le mot clé super .
la source
appelez les méthodes de base avec super mot - clé et passez les paramètres respectifs.
la source
la source
Vous voyez, ici vous remplacez l'une des méthodes de la classe de base, donc si vous aimez appeler la méthode de la classe de base à partir de la classe héritée, vous devez utiliser le super mot - clé dans la même méthode de la classe héritée.
la source
Si vous utilisez ces méthodes pour l'initialisation, utilisez des constructeurs de classe A et passez le super mot-clé dans le constructeur de la classe B.
Ou si vous voulez appeler une méthode de super-classe à partir de la méthode de sous-classe, vous devez utiliser le mot-clé super dans la méthode de sous-classe comme: super.myMethod ();
la source
la source