Je crois que j'ai dis une connerie... J'ai essyer ton code et ça marche correctement; pas besoin de redéfinir toto()...
-----Message d'origine----- De : Pierre-Yves Varoux [mailto:[EMAIL PROTECTED]] Envoyé : mardi 3 décembre 2002 18:31 À : [EMAIL PROTECTED] Objet : RE: Problème d'héritage ! Salut, C'est normal; il faut que dans la classe B tu redéfinisse toto(){ super.toto(); }. -----Message d'origine----- De : Cyriaque Dupoirieux [mailto:[EMAIL PROTECTED]] Envoyé : mardi 3 décembre 2002 18:31 À : Liste Java Objet : Problème d'héritage ! Salut à tous. J'ai un comportement que je m'explique mal. Supposons que j'ai une classe A, dans laquel j'ai 2 méthodes : toto() et tata(). Tata() est appelée par la méthode toto() Bref : public class A { public void toto() { tata() ; } public void tata() { System.out.println("Hello World A") ; } } Ensuite je fais une classe B qui hérite de A. Je redéclare ici la méthode tata() public class B { public void tata() { System.out.println("Hello World B") ; } } Avec ce code, quand je fais B.toto(), j'ai la surprise de voir exécuter la méthode tata() de la classe A. Est-ce un comportement objet normal ? Il me semblait bien que dans ce cas la méthode tata() de B devrait être appelée, mais là j'ai le comportement inverse. Note : évidemment, le contexte de l'application est plus complexe que cela, je n'exclue pas que le problème vienne d'ailleurs. Merci d'avance. -- Cyriaque Dupoirieux PCO Technologies Burolines - 2 ter rue Marcel Doret 31700 Blagnac Tél : 05.34.60.44.13 - Fax : 05.34.60.44.10