2.可变形参的方法
(1)JDK 5.0新增的内容,允许直接定义能和多个实参相匹配的形参。从而,可以用一种更简单的方式,来传递个数可变的实参。
(2)具体使用
①可变个数形参的格式:数据类型 … 变量名。
②当调用可变个数形参的方法时,传入的参数个数可以是:0个,1个,2个……
③可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成的重载
④可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载,他们二者不能共存。
⑤可变个数形参在方法的形参中,必须声明在末尾。
⑥可变个数形参在方法中的形参中,最多只能声明一个可变形参。
代码:
public class MethodArgsTest {
public static void main(String[] args) {
MethodArgsTest test = new MethodArgsTest();
test.show(12);// 1
test.show("hello");// 2
test.show("hello", "world");// 3
test.show();// 3
test.show("AA", "BB", "CC");
}
public void show(int i) {// 对应1
}
// 注释之后不报错,采用下面的
public void show(String s) {// 对应2
System.out.println("show(String)");
}
public void show(String... strs) {// 对应3
System.out.println("show(String ... strs)");
for (int i = 0; i < strs.length; i++) {
System.out.println(strs[i]);
}
}
// 与上面的无法构成重载
// public void show(String[] strs) {
//
// }
// The variable argument type String of the method show must be the last
// parameter
// public void show(String ... strs, int i) {
//
// }//必须声明在最后--->(int i,String ... strs)
}
输出:
show(String)
show(String ... strs)
hello
world
show(String ... strs)
show(String ... strs)
AA
BB
CC