public static void go(Long l){
out.println("LONG");
}
public static void go(Short s){
out.println("short");
}
public static void go(int i){
out.println("int");
}
short y = 6;
long z = 7;
byte x = 6;
go(x);//调用的是go(int i)方法
go(y);//调用的是go(int i)方法
go(z);//调用go(Long l)
调用时如果根据基本数据类型自动提升规则后能找到匹配的方法,则调用参数为基本数据类型的。如果匹配不到可以调用的方法,则查找有无对应该封装类为参数的方法,有则调用,没有则报错。
不会存在从int型变量转型为Long封装类型而调用go(Long)方法。只匹配对应类型的封装类参数。