C'est ainsi parce qu'en java le "lookup" n'est fait que sur le receveur
d'un message et non sur les param�tres d'une m�thode. Si tu d�sassembles
avec javap, tu verras que la signature de la m�thode appel�e dans receive
est processContent(Ljava/lang/Object;)V et
nonprocessContent(Ljava/lang/String;)V.
Le compilateur a li� statiquement la m�thode � appeler.

Par contre si tu avais une m�thode processContent() d�finie sur
java.lang.Object et sur java.lang.String alors �crire:

             public void receive(Message msg) {
                         Object content = msg.getObject();
                         content.processContent();
             }
aurait bien appel� le processContent() de String si content est une string.

J'esp�re avoir clairement expliqu� les choses, sinon pose une autre
question ;-).

Olivier

Répondre à