ich diesen verwirrenden Code haben:Warum Konstruktoren mit Array als Parameter Konstruktoren mit Objekt in Parameter [Java] vorangehen?
public class Confusing {
private Confusing(Object o){
System.out.println("Object");
}
private Confusing(double[]dArray){
System.out.println("double array");
}
public static void main(String[] args){
new Confusing(null);
}
}
Wenn "kompiliert" und zeigt das Programm "Double Array" ausführen, warum Arrays voraus Objekt? Gibt es eine andere Konstruktorsituation, in der solch ein verwirrendes Verhalten auftritt?
Warum die enge Abstimmung? Es ist ziemlich klar, was er/sie fragt –
mögliche Duplikate von [Welche Überladung wird für null in Java ausgewählt?] (Http://stackoverflow.com/questions/1545501/which-overload-will-get-selected-for- null-in-java) und [Wie wählt Java aus, welcher Konstruktor verwendet werden soll?] (http://stackoverflow.com/questions/12057333/how-does-java-choose-which-constructor-to-use) - Beachten Sie die 2. ist * genau * der gleiche Code (Hausaufgabe?) –