W jaki sposób Java wybiera, którego konstruktora użyć?
Nie jestem w stanie zrozumieć wyników następującego programu.
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);
}
}
Prawidłowe wyjście to „podwójna tablica”. DLACZEGO ten konstruktor został wybrany jako bardziej szczegółowy niż drugi, gdy oba mogą zaakceptować wartość null?