【答疑解惑】Java中的方法重载

时间:2022-05-04
本文章向大家介绍【答疑解惑】Java中的方法重载,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

语音版:

我定义了一个类如下:

public class FirstJava {
    private int value;
    private int count;
    public void setValue(int value) {
        this.value = value;
    }

    public int setValue(int value) {
        this.value = value;
        return value;
    }
    
    public void setValue(int value, int count) {
        this.value = value;
        this.count = count;
    }
}

上面的代码定义了三个setValue方法,第一个与第二个区别是方法返回值不同,第三个是增加了一个参数。上面的代码大家检查一下能不能编译过,答案先不说,先来说一下Java中方法重载是怎么回事。方法重载的规则是方法名字相同,参数列表不同。

参数列表不同分为下面三种情况:

  • 参数个数不同:这个很容易理解,方法参数可以使一个也可以是两个等等;
  • 参数顺序不同:参数个数相同,包含有不同的数据类型,但是参数的顺序不一样,这种情况应该是避免出现的,因为这样的代码比较丑陋,难以维护;
  • 参数类型不同:参数个数相同,但是参数的数据类型不同;

清楚了重载的规则大家应该不难判断出来上面的代码是有问题的,因为规则中没有通过方法的返回值来区分方法重载的,所以第二个setValue不能那样写。