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