方法重载就是在一个类中,有相同的函数名,但形参列表不同的方法。
方法重载的原则:
- 名称必须相同。
- 参数列表必须不同,就是个数、类型、参数排列顺序不同。
- 重载中,方法的返回类型可相同可不同,不作要求。
- 当只有返回类型不同时,不足以成为方法的重载。
方法重载的理论:
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