Java方法_2 _方法重载
-
重载就是在一个类中,有相同的函数名称,但形参不同的函数。
-
方法的重载的规则:
- 方法名称必须相同。
- 参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。
- 方法的返回类型可以相同也可以不相同。
- 仅仅返回类型不同不足以成为方法的重载。
-
实现理论:
方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。
package com.wlw.method;
public class Demo02 {
public static void main(String[] args) {
int max1 = max(10,20,10); //调用max方法
System.out.println(max1);
int max2 = max(10.0,20.0);
System.out.println(max2);
}
//比大小
public static int max(double num1,double num2){
int result = -1;
if(num1 == num2){
System.out.println("两个数相等");
return 0;//终止语句,如果执行到这,这个方法也就结束了
}else if(num1 > num2){
result = (int)num1;
}else {
result = (int)num2;
}
return result;
}
//比大小
public static int max(int num1,int num2){
int result = -1;
if(num1 == num2){
System.out.println("两个数相等");
return 0;//终止语句,如果执行到这,这个方法也就结束了
}else if(num1 > num2){
result = num1;
}else {
result = num2;
}
return result;
}
//比大小
public static int max(int num1,int num2,int num3){
int result = -1;
if(num1 == num2 && num1 == num3){
System.out.println("三个数相等");
return 0;//终止语句,如果执行到这,这个方法也就结束了
}else if(num1 > num2 && num1 > num3 ){
result = num1;
}else if(num2 > num1 && num2 > num3 ){
result = num2;
}else{
result = num3;
}
return result;
}
}