方法的重载

定义

在同一个类中,存在一个以上的同名方法,只要它们的参数个数不同或者参数类型不同即可构成方法的重载。

特点

要满足方法的重载,只要满足“两同一不同”即可。
两同:两同一个类、相同方法名。
一不同:参数列表不同。即参数个数不同、参数类型不同(参数的个数相同,类型相同,但顺序不同也视作参数列表不同)

举例

如下列代码所示:
②中的形参个数与①中的形参个数不同,构成了方法的重载。
③中的形参类型与②中的形参类型不同,构成了方法的重载。
④中的参数看起来与②中的参数看起来似乎一样,但顺序不同,等同于参数类型不同,依然可以构成方法的重载。

class Student{
    String name;
    int id;
    int score;
    //①
    public void show(String name,int id,int score){
        this.name = name;
        this.id = id;
        this.score = score;
        System.out.println(name+"的学号是:"+id+",成绩是:"+score);
    }
    //② 参数个数不相同(①和②比较)
    public void show(String name,int id){
        this.name = name;
        this.id = id;
        System.out.println(name+"的学号是:"+id);
    }
    //③ 参数类型不同(②和③比较)
    public void show(int id,int score){
        this.id = id;
        this.score = score;
        System.out.println("学号为:"+id+"的成绩为:"+score);
    }
    //④ 参数顺序不同(④和②比较)
    public void show(int id,String name){
        this.name = name;
        this.id = id;
        System.out.println("学号为"+id+"的同学是:"+name);
    }
}

注意

方法的重载与方法的权限、返回值类型、形参变量名、方法体都没有关系。即若对于同一个类中的同名方法,若不改变其参数列表,而更改方法的权限、返回值类型、形参变量名、方法体都无法构成方法的重载,会报此方法已经在该类中被定义的错误提示。
在这里插入图片描述
如图,将该方法的权限由public改为private,会导致报错。

重载方法的调用

若一个类中有多个构成重载的方法,我们通过对象来调用方法时,可以通过对象.方法名对方法进行选择,但是对于存在方法的重载时,为了可以调用正确的方法,我们通过具体的形参列表进行区别,实现执行指定的操作。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值