java数据类型及其封装类的问题
public class TypeTest{public static void go(long n){
System.out.println("Long");
}
public static void go(Short n){
System.out.println("Short");
}
public static void go(int n){
System.out.println("int");
}
public static void main(String args[]){
short y=5;
long z=y;
go(y);
go(z);
}
}
为什么这个程序的输出结果是int Long,short是2个字节,为什么会对应int类型的,而不是Short封装类 --------------------编程问答-------------------- Short改成short呢 --------------------编程问答--------------------
这样就可以,但不知Short为什么不行 --------------------编程问答-------------------- 这是个自动匹配优先级的问题,你把go(long n)和go(int n)这两个方法去了,它就会匹配go(Short n)了 --------------------编程问答--------------------
我知道,为什么封装类的优先级低于基本数据类型呢 --------------------编程问答--------------------
不为什么,匹配的顺序就是这么定义的,大概是因为short, int ,long 都是些基本类型,比装箱的性能要高一点,总有一些规则是要定义的嘛
补充:Java , Java SE