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 int add(double a,int b) {
		return 2;
	}
	public static void main(String args[]) {
		System.out.println("调用add(int,int)方法:"+add(1,2));
		System.out.println("调用add(double,double)方法:"+add(2.1,3.3));
		System.out.println("调用add(int)方法:"+add(1));
		System.out.println("调用add(int,double)方法:"+add(1,2.3));
		System.out.println("调用add(double,int)方法:"+add(2.3,2));
	}
}
/*输出结果如下:
调用add(int,int)方法:3
调用add(double,double)方法:5.4
调用add(int)方法:1
调用add(int,double)方法:1
调用add(double,int)方法:2
*/

编译器是利用方法名、方法各参数类型和参数的个数以及参数的顺序来确定类中的方法是否唯一,方法的重载使得方法以统一的名称被管理,是程序代码有条理。

修改上述示例,添加一个不定长参数的方法:

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

不定长方法的语法如下:

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值