java方法的重载与特殊情况

方法重载,通过方法的签名(方法名+参数列表)识别,特殊情况除外,

特殊情况:(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

若我们的自变量“大于”过载方法期望的自变量,这时又会出现什么情况呢?

这里是大转小,不能自动转,所以会报错,传参的时候要手动强转才行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值