Java方法的重载

方法的重载

1.定义

        方法的重载就是一个类中允许一个以上同名方法存在,只要这些方法的参数个数参数类型不同即可。

package classExtends;

public class OverLoadTest {
    public static int add(int a, int b) {
        return a + b;
    }

    public static double add(double a, double b) {
        return a + b;
    }

    public static int add(int a) {
        return a;
    }

    public static int add(int a, double b) {
        return a + (int) b;
    }

    public static int add(double a, int b) {
        return (int) a + b;
    }

    public static void main(String[] args) {
        System.out.println("调用add(int,int)方法:" + add(1, 2));    //调用add(int,int)方法:3
        System.out.println("调用add(double,double)方法:" + add(2.1, 3.2));  //调用add(double,double)方法:5.300000000000001
        System.out.println("调用add(int)方法:" + add(2));   //调用add(int)方法:2
        System.out.println("调用add(int,double)方法:" + add(2, 2.1));   //调用add(int,double)方法:4
    }
}

        编译器是通过【方法名+方法各参数类型+参数个数+参数顺序】来确定类中的方法是否唯一。

2.不定长参数

2.1 语法:

        返回值 方法名(参数类型...参数名)

        在参数列表中使用”...“形式定义不定长参数,其实这个不定长参数a就是个数组,编译器会将”int...a“这种形式看做”int[] a“.

package classExtends;

public class OverLoadTest {
    public static int add(int a, int b) {
        return a + b;
    }

    public static double add(double a, double b) {
        return a + b;
    }

    public static int add(int a) {
        return a;
    }

    public static int add(int a, double b) {
        return a + (int) b;
    }

    public static int add(double a, int b) {
        return (int) a + b;
    }

    public static int add(int... a) {   //定义不定长参数方法
        int sum = 0;
        for (int i = 0; i < a.length; i++) {
            sum += a[i];
        }
        return sum;
    }

    public static void main(String[] args) {
        System.out.println("调用add(int,int)方法:" + add(1, 2));    //调用add(int,int)方法:3
        System.out.println("调用add(double,double)方法:" + add(2.1, 3.2));  //调用add(double,double)方法:5.300000000000001
        System.out.println("调用add(int)方法:" + add(2));   //调用add(int)方法:2
        System.out.println("调用add(int,double)方法:" + add(2, 2.1));   //调用add(int,double)方法:4

        //调用不定长参数方法
        System.out.println("调用不定长参数方法:" + add(1, 2, 3, 4, 5, 6));   //调用不定长参数方法:21
        System.out.println("调用不定长参数方法:" + add(1));  //调用不定长参数方法:1
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chuntian_tester

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值