Znalazłem ten kod Java z this site. Nie rozumiem, w jaki sposób kompiluje się bez niejednoznacznego błędu.Dlaczego można przekazać wartość zerową do przeciążonej metody Java?
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);
}
}
wyjściowa:
String
Co jest nie tak z powyższym kodem? –
dlaczego nie powinien on się kompilować? Twoja odpowiedź nawet nie zapytała, dlaczego to String, a nie obiekt, który jest drukowany na ekranie, więc zakładam, że mówisz tylko o kompilacji. nie ma żadnego problemu – 12dollar
Prawdopodobnie dlatego, że 'String' IS-A' Object'. – kajacx