方法重载,通过方法的签名(方法名+参数列表)识别,特殊情况除外,
特殊情况:(1.6以后编译不通过,应该是官方修复了,方法重载还是只能靠方法签名)
public int test(List<Integer> list){
return 1;
}
public String test(List<String> list){
return "";
}
【java代码中,函数的特征签名仅仅包括方法名称、参数类型以及参数顺序。但在字节码中,特征签名还包括了方法的返回值以及受查异常表,这就是为什么在class文件中,其他都相同仅仅返回值不同的两个方法能共存的原因】
==============上面特殊情况1。6后作废============
主类型的过载:
主(数据)类型能从一个“较小”的类型自动转变成一个“较大”的类型。
例如:
public void abc(long tem){
System.out.println(tem);
}
//下面调用传入int值会自动转换,小转大
abc(5);
//char 获得的效果稍有些不同,这是由于假期它没有发现一个准确的char 匹
//配,就会转型为int
若我们的自变量“大于”过载方法期望的自变量,这时又会出现什么情况呢?
这里是大转小,不能自动转,所以会报错,传参的时候要手动强转才行