Метод перегрузки двусмысленности

Рассмотрим следующий блок кода:

class A {
    static void m(String s) {
        System.out.println("String");
    }

    static void  m(Object o) {
        System.out.println("Object");    
    }

    public static void main(String [] args) {    
        A.m(null);    
    }
}

Здесь Output is "String". Теперь мой вопрос заключается в том, что, поскольку Object и String оба могут принимать нулевое значение, поскольку оба имеют тип Reference, тогда почему компилятор печатает "String" вместо того, чтобы показывать ошибку неоднозначности?

0 ответов

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