Je me suis rendu compte d'un petit truc étrange en Java.
Si j'ai 2 méthode avec le même nom mais des paramètres différents qui sont des objets :
et que j'appèle la méthode truc(null). Java va sortir l'erreur "The method truc(Integer) is ambiguous for the type Test".
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
Ok, c'est logique, il est impossible de savoir quel méthode appeler.
Mais maintenant si une des 2 méthode à comme paramètre un Object :
l'appel de truc(null)ne créera aucune erreur de compilation et lors de l'exécution, la méthode truc(String) sera toujours appelée!
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
Ma question est pourquoi quand une des méthodes à comme paramètre un Object il n'y a pas d'erreur de compilation et est-ce que cela fonctionne de la même façon sur toutes les JVM?

 

 
		
		 
         
 

 
			
			


 
   


 [Compilateur] appel de méthodes avec signature similaire
 [Compilateur] appel de méthodes avec signature similaire
				 Répondre avec citation
  Répondre avec citation 
			 
   
Partager