Java

Java,第1张

Java Java_方法的重载

1.方法的重载:多个方法的名称一样,但是参数列表不一样

public class test{
    public static void main(String[] args){
        System.out.println(sum(10, 20));//30
        System.out.println(sum(10, 20, 30));//60
        System.out.println(sum(10, 20, 30, 40));//100
    }
    public static int sum(int a,int b){
        return a+b;
    }
    public static int sum(int a,int b,int c){
        return a+b+c;
    }
    public static int sum(int a,int b,int c,int d){
        return a+b+c+d;
    }
}

2.方法重载与下列因素相关

(1)参数个数不同
(2)参数类型不同
(3)参数的多类型顺序不同

public class test{
    public static void main(String[] args){
        System.out.println(sum(2.3, 3.6)); //5
        System.out.println(sum(2.3, 4)); //6
        System.out.println(sum(4, 5.6)); //9
    }
    public static int sum(double a,double b){
        return (int)(a+b);
    }
    public static int sum(int a,double b){
        return (int)(a+b);
    }
    public static int sum(double a,int b){
        return (int)(a+b);
    }
}

3.方法重载与以下因素无关

(1)与方法的返回值类型无关
(2)与参数的名称无关

4.方法重载练习

(1)比较两个数据是否相等

public class test{
    public static void main(String[] args){
        byte a=10;
        byte b=50;
        System.out.println(isSame(a, b)); //执行byte类型
        System.out.println(isSame(20, 20));  //执行int类型
        System.out.println(isSame((short)a, (short)b)); //执行short类型
        System.out.println(isSame(10L, 20L)); //执行long类型
    }

    //byte类型
    public static boolean isSame(byte a,byte b){
        System.out.println("执行byte类型");
        boolean same;
        if(a==b){
            same=true;
        }else{
            same=false;
        }
        return same;
    }

    //int类型
    public static boolean isSame(int a,int b){
        System.out.println("执行int类型");
        boolean same=a==b?true:false;
        return same;
    }

    //short类型
    public static boolean isSame(short a,short b){
        System.out.println("执行short类型");
        boolean same=a==b;
        return same;
    }

    //long类型
    public static boolean isSame(long a,long b){
        System.out.println("执行long类型");
        return a==b;
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5712955.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存