WYJŚCIE: BPrzechodząc zerowy do zastąpiona metoda, gdy różnica między metodami jest podtypem parametr
Dlaczego wirtualnego call maszyna ta metoda f(null){System.out.println("B");}
?
Dlaczego nie f(null){System.out.println("A");}
public class Test{
public static class A {}
public static class B extends A {}
public void f(A a) {System.out.println("A");}
public void f(B a) {System.out.println("B");}
public static void main(String[] args) {
new Test().f(null);
}
}
Proszę przejrzeć formatowanie ... nie jest jasne, – kTiwari
wygląda na to, że musimy ponownie pobrać specyfikację ... – vikingsteve