首页 专题 文章 代码 归档
Java 面向对象-方法重载
2020.02.26 19:51 2020.02.26 19:51

1. 方法重载

1.1. 概念

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

特点:

  • 与返回值类型无关, 只看方法名和参数列表
  • 在调用时, 虚拟机通过参数列表的不同来区分同名方法

1.2. 实例

其实在上个章节的例子中,我们已经见识过方法重载了!

对,那就是构造方法的重载,比如无参构造、全参构造。

public class Person {
    private String name;
    private int age;
    private String gender;


// 这算是无参构造
    public Person() {
    }
// 算是全参构造
    public Person(String name, int age, String gender) {
        this.name = name;
        this.age = age;
        this.gender = gender;
    }
     // getter and setter....
}

上面两个Person方法就算是重载,只不过他们更特殊:名字和类名一样!

这样,我们(也有JVM虚拟机)就可以根据我们传入的参数类型和个数判定我们想要调用哪个方法。

需要注意的更多规则:

  • 被重载的方法必须改变参数列表(参数个数或类型不一样);
  • 被重载的方法可以改变返回类型;
  • 被重载的方法可以改变访问修饰符;
  • 被重载的方法可以声明新的或更广的检查异常;
  • 方法能够在同一个类中或者在一个子类中被重载。
  • 无法以返回值类型作为重载函数的区分标准。
本节阅读完毕! (分享
二维码图片 扫描关注我们哟