Java基础--方法的重载

为什么有方法重载:

因为一次定义无法满足多个不同的参数设置的情况,例如实现加法运算,可能会有两个整数,两个浮点数,一个整数一个浮点数这样的情况,所以要重载方法保证在参数变化的情况下也能正常调用某个方法。

 

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

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 1;
    }
    public static void main(String args[]){
        System.out.println("add(1,2)---" + add(1,2));
        System.out.println("add(1.2,2.4)---" + add(1.2,2.4));
        System.out.println("add(5)---" + add(5));
        System.out.println("add(5,5.3)---" + add(5,5.3));
    }
}
/*-----------------------------------------------------
F:\Javacode>java OverLoadTest
add(1,2)---3
add(1.2,2.4)---3.5999999999999996
add(5)---5
add(5,5.3)---1

F:\Javacode>*/

 

定义不定长参数的方法:

返回值 方法名(参数数据类型···参数名称)

例: int add ( int... a)---参数a实际上是一个数组,编译器会将(int... a)看作--(int a[])

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 1;
    }
    public static int add(double a, int b){
        return 1;
    }
    public static int add(int... a){ //定义不定长参数
        int s = 0;
        for(int x=0; x<a.length; x++){
            s += x;
        }
        return s;
    }
    public static void main(String args[]){
        System.out.println("add(1,2)---" + add(1,2));
        System.out.println("add(1.2,2.4)---" + add(1.2,2.4));
        System.out.println("add(5)---" + add(5));
        System.out.println("add(5,5.3)---" + add(5,5.3));
        System.out.println("add(1,2,3,4,5,5,6)---" + add(1,2,3,4,5,5,6));
    }
}
/*-----------------------------------------------------
F:\Javacode>java OverLoadTest
add(1,2)---3
add(1.2,2.4)---3.5999999999999996
add(5)---5
add(5,5.3)---1
add(1,2,3,4,5,5,6)---21

F:\Javacode>*/

 

转载于:https://www.cnblogs.com/dododo70/p/10262007.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值