区分重载方法

  1. 为什么要有重载:
    一个原因:方法名,不需要对每个概念都用不同的词汇
    另一个原因:构造器强制重载方法名。因为构造器的名字一定是类的名字,就只能有一个构造器名。想用多种方式创建一个对象,由于都是构造器,所以他们必须有相同的名字,即类名。而他们的参数不同,必须用到方法重载。
  2. 方法签名:方法名+参数列表
  3. 区分重载方法:每个重载方法都必须有一个独一无二的参数类型列表。甚至参数顺序的不同也足以区分两个方法,不过一般情况下不这么做,因为会使代码难以维护。
  4. 基本类型的重载:
    5会被当做int处理,如果有某个重载方法接受int,就会被调用。如果传入的数据类型(实际参数类型)小于声明的形式参数类型,实际数据类型就会被提升。char:如果找不到接受char参数的方法,char直接被提升到int。
    如果传入的实际参数大于重载方法声明的形式参数,需要类型转换,否则编译器就会报错。
  5. 以返回值区分重载方法?
    void f() {}
    int f() {return 1;}
    
    虽然这样你可以区分,比如这样int x = f()
    但如果这样呢:f()
    Java没有办法判断调用哪一个f(),别人也理解不了。所以根据方法的返回值来区分重载方法是行不通的。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值