方法重载就是在一个类中,有相同的函数名,但形参列表不同的方法。

方法重载的原则:

  • 名称必须相同。
  • 参数列表必须不同,就是个数、类型、参数排列顺序不同。
  • 重载中,方法的返回类型可相同可不同,不作要求。
  • 当只有返回类型不同时,不足以成为方法的重载。

方法重载的理论:

Java虚拟机发现方法名相同时,编译器会根据调用的方法参数列表逐个匹配,自主选择对应的方法,全部匹配失败时,编译器会报错。

示例:

package com.zctou.method;

public class Demo03 {
    public static void main(String[] args) {
        //方法的重载实现
        int num = biggest(10,20) ;
        double numD = biggest(20.0, 22.2);
        double numD2 = biggest(12.0,31.3);

        System.out.println(num);
        System.out.println(numD);
        System.out.println(numD2);
    }

    //比大小, 方法重载,方法的返回类型相同,程序并没报错
    public static double biggest(float num1, float num2) {
        double result = -1 ;
        if(num1 == num2) {
            System.out.println("输出了两个相等的数");
        } else if(num1 >num2) {
            result = num1 ;
        } else {
            result = num2 ;
        }
        return result ;
    }
    //比大小,方法重载,方法参数列表一定要不同
    public static double biggest(double num1, double num2) {
        double result = -1 ;
        if(num1 == num2) {
            System.out.println("输出了两个相等的数");
        } else if(num1 >num2) {
            result = num1 ;
        } else {
            result = num2 ;
        }
        return result ;
    }

    //比大小,方法重载,方法名必须要一样
    public static int biggest(int num1, int num2) {
        int result = -1 ;
        if(num1 == num2) {
            System.out.println("输出了两个相等的数");
        } else if(num1 >num2) {
            result = num1 ;
        } else {
            result = num2 ;
        }
        return result ;
    }
}

输出:

20
22.2
31.3