Понимание того, какой конструктор выбран и почему.

Почему следующая программа каждый раз печатает Я строка , а не Я объект. или Я в порядке. ]?

public class Demo {

    public Demo(String s){
        System.out.println("I'm string");
    }

    public Demo(int i){
        System.out.println("I'm int.");
    }

    public Demo(Object o){
        System.out.println("I'm object.");
    }

    public static void main(String[] args) {
        new Demo(null);
    }
}

Также, если я заменяю int на Integer . Это дает ошибку, поскольку Конструктор Demo (String) неоднозначен. Почему?

9
задан T.J. Crowder 9 January 2012 в 10:17
поделиться