Java1.5之前,要求函数的实参和形参的数量和类型都必须逐一匹配,而且形参的数目是在方法定义的时候就已经固定下来了。
1. 对于函数名相同、函数的形参个数不同的,可以通过重载机制实现,
函数重载的缺点:提前得知道函数的形参个数,不能达到让实参数量任意变化的目的;必须重写很多次同名函数,代码不够简洁
如:void func(String a,String b)
void func(String a,String b,String c)
2.函数可变参数(Java1.5及之后的版本)
适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。
可变参数的要求:
(1)格式为func(int a,String ... b)符号...是可变参数的标志;
(2)可变参数只能在形参列表的最后定义;
(3)调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中一数组的形式访问可变参数。
public String func(int x,String ...args){
string str=x;
for(int i=0;i<args.length;i++){
str=str+arg[i];
}
return x+str;
}