【Java方法学习】方法的重载

方法的重载

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

下面三个方法名字都相同为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.仅仅返回类型不同不足以成为方法的重载。 如上

实现理论:

方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错

猜你喜欢

转载自blog.csdn.net/weixin_44302662/article/details/114648704