Ho trovato questo codice Java da this site. Non capisco come si compila senza errori ambigui.Perché è possibile passare null a un metodo Java sovraccarico?
package swain.test;
public class Test {
public static void JavaTest(Object obj) {
System.out.println("Object");
}
public static void JavaTest(String arg) {
System.out.println("String");
}
public static void main(String[] args) {
JavaTest(null);
}
}
uscita:
String
Cosa c'è di sbagliato con questo codice sopra? –
perché non dovrebbe essere compilato? la tua risposta non ha nemmeno chiesto perché è String e non Object che è stato stampato sullo schermo, quindi ho pensato che stavi solo parlando di compilation. non c'è alcun problema – 12dollar
Probabilmente perché 'String' IS-A' Object'. – kajacx