В чем причина следующего вывода перегруженной функции?

Меня спросили, что это за вопрос в интервью, но я ответил правильно, я не могу понять точную причину.

class Main{

    void hello(Object obj)
    {
        System.out.println("i am object");
    }

    void hello(String str)
    {
         System.out.println("i am String");
    }

    public static void main(String[] args)
    {
        Main m = new Main();
        m.hello(null);
    }
}

Выход

i am String

Пожалуйста, поиск перед публикацией. Подробнее о поиске здесь.

T.J. Crowder 10.08.2018 16:13
3
1
58
0

Другие вопросы по теме