方法的重载
重载就是在一个类中,有相同的函数名称,但形参不同的函数。
下面三个方法名字都相同为max(),但是参数类型不同
//比大小,两个整数
public static double max(double num1,double num2) {
//修饰符 修饰符 返回值类型 名字
double result = 0;
if (num1 == num2) {
System.out.println("num1=num2");
return 0;
}
if(num1>num2){
result = num1;
}else {
result =num2;
}
return result;
}
//比大小,两个浮点数
public static int max(int num1,int num2){
//修饰符 修饰符 返回值类型 名字
int result=0;
if(num1==num2){
System.out.println("num1=num2");
return 0;
/*return还可以用来结束方法,如果相等会输出两行:
num1=num2
0
*/
}
if(num1>num2){
result = num1;
}else {
result =num2;
}
return result;//return一般写在方法最下面
}
//比大小,三个数
public static int max(int num1,int num2,int num3){
//修饰符 修饰符 返回值类型 名字
int result=0;
if(num1==num2){
System.out.println("num1=num2");
return 0;
/*return还可以用来结束方法,如果相等会输出两行:
num1=num2
0
*/
}
if(num1>num2){
result = num1;
}else {
result =num2;
}
return result;//return一般写在方法最下面
}
方法的重载的规则:
1**.方法名称必须相同**。 如上
2**.参数列表必须不同**(个数不同、或类型不同、参数排列顺序不同等)。 如上
3.方法的返回类型可以相同也可以不相同。 如上
4.仅仅返回类型不同不足以成为方法的重载。 如上
实现理论:
方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错