12-面向对象-方法重载(OverLoad)

发布时间 2023-08-03 11:55:55作者: 马铃薯1

基本介绍

重载(Overload):指一个类中可以有多个方法具有相同的名字,但这些方法的参数不同(参数的类型和个数不同)

即在Java中允许同一个类中,多个同名方法的存在,但要求形参列表不一致!

public class OverLoad01 {
    public static void main(String[] args){

        MyCalculator mc = new MyCalculator();
        System.out.println(mc.calculate(1,2));      //3
        System.out.println(mc.calculate(1.1,2));    //3.1
        System.out.println(mc.calculate(1,2.2));    //3.2
        System.out.println(mc.calculate(1,2,3));    //6
    }
}

class MyCalculator{
    //以下四个 calculate方法 构成了重载
    //两个整数的和
    public int calculate(int n1, int n2){
        return n1 + n2;
    }
    //一个整数,一个double的和
    public double calculate(int n1, double n2){
        return n1 + n2;
    }
    //一个double,一个Int的和
    public double calculate(double n1, int n2){
        return n1 + n2;
    }
    //三个Int的和
    public int calculate(int n1, int n2, int n3){
        return n1 + n2 + n3;
    }
}

方法重载的注意事项和使用细节

方法名:必须相同

参数列表:必须不同(形参类型或个数或顺序,至少有一样不同,参数名无要求)

返回类型:无要求

构成重载的两个方法,必须在同一个作用域中。