Gibt es einen bestimmten Grund, warum Java eine frühe Bindung für überladene Methoden verwendet? Wäre es nicht möglich, dafür late binding zu verwenden?
Exemple :
public class SomeClass {
public void doSomething(Integer i) {
System.out.println("INTEGER");
}
public void doSomething(Object o) {
System.out.println("OBJECT");
}
public static void main (String[] args) {
Object i = new Integer(2);
Object o = new Object();
SomeClass sc = new SomeClass();
sc.doSomething(i);
sc.doSomething(o);
}
}
Drucke: OBJEKT OBJEKT
Ich würde eher erwarten: INTEGER OBJEKT