重複の可能性:
null 引数を使用した Java メソッドのディスパッチ
これが「a(String)」と表示されるのはなぜですか?
public class Test{
public static void main(String[] args){
a(null);
}
public static void a(Object x){
System.out.println("a(Object)");
}
public static void a(String x){
System.out.println("a(String)");
}
public static void a(int x){
System.out.println("a(int)");
}
public static void a(){
System.out.println("a()");
}
}
Java のバージョン:
java version "1.7.0_04-ea"
Java(TM) SE Runtime Environment (build 1.7.0_04-ea-b228)
Java HotSpot(TM) 64-Bit Server VM (build 23.0-b12, mixed mode)