Bonjour,
Voici un petit exemple de ce qui me pose problème:
A partir de là je ne comprends pas ce qui se passe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 class A { public void M1() { M2(); } public void M2() { } } class B extends A { public void M1() { super.M1(); } public void M2() { super.M2(); } } B b=new B(); b.M1();
En trace je vois que la séquence d'appel est
Je me serais attendu à avoir:
Code : Sélectionner tout - Visualiser dans une fenêtre à part B-M1() -> A-M1() -> A-M2()
Quelqu'un peut me dire pourquoi est-ce que la méthode M2() de la classe B n'est pas appellée et comment faire pour qu'elle le soit ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part B-M1() -> A-M1() -> B-M2() -> A-M2()
Merci,
Laurent
Partager