Возможный дубликат:
Перегрузка метода для параметра NULL
В приведенном ниже коде результат
Строка
и если я удалю метод с параметром типа String
, то выход будет
Объект
Я знаю, как перегрузка методов действует, когда типы параметров не соответствуют точно, но я не могу понять, как null можно рассматривать как параметр Object
и/или String
.
Каково объяснение этого?
class C {
static void m1(Object x) {
System.out.print("Object");
}
static void m1(String x) {
System.out.print("String");
}
public static void main(String[] args) {
m1(null);
}
}