Possible Duplicate:
Method Overloading for NULL parameter
В приведенном ниже коде вывод
String
и если я удалю метод с параметром типа String
, то вывод будет
Object
Я знаю, как действует перегрузка методов, когда типы параметров не совпадают точно, но я не могу понять, как 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);
}
}