Pourquoi cette sortie: "inside String argument method"? N'est-ce pas un type "Object" nul?Est-ce que null a un type d'objet?
class A {
void printVal(String obj) {
System.out.println("inside String argument method");
}
void printVal(Object obj) {
System.out.println("inside Object argument method");
}
public static void main(String[] args) {
A a = new A();
a.printVal(null);
}
}
Wow fou. J'ai juste essayé d'ajouter une troisième surcharge 'printVal',' printVal (Integer obj) 'pour voir ce qui arriverait. Maintenant 'a.printVal (null)' est une erreur de compilation, due à l'ambiguïté. Bonne question. – mgiuca