可變個數的形參的方法:
1、 格式,對于方法的形參:資料類型。。。形參名。
2、可變個數的形參的方法與同名的方法之間構成重載。
如下兩段程式所示:三個方法構成重載。因為定義了可變個數的形參的方法,是以前兩個方法可以省略。
public void sayHello() {
System.out.println("Hello world");
}
public void sayHello(String str1) {
System.out.println("Hello"+str1);
}
public void sayHello(String ...args) {
for(int i=0;i<args.length;i++) {
System.out.println(args[i]);
}
}
public int getSum(int i,int j) {
return j+j;
}
public int getSum(int i,int j,int k) {
return i+j+k;
}
public int getSum(int ...args) {
int sum = 0;
for(int i=0;i<args.length;i++) {
sum+= args[i];
}
return sum;
}
3、可變個數的形參在調用時,個數從零開始,到無窮多個都可以。
4、使用可變多個形參的方法與使用數組是一緻的
public void sayHello(String ...args) {
for(int i=0;i<args.length;i++) {
System.out.println(args[i]);
}
}
public void sayHello(String[] args) {
for(int i=0;i<args.length;i++) {
System.out.println(args[i]);
}
}
5、若方法中存在可變參數的形參,那麼一定要聲明在最後。
public void sayHello(int j,String ...args) {
for(int i=0;i<args.length;i++) {
System.out.println(args[i]);
}
}
完整代碼:
public class Temp {
public static void main(String[] args) {
Temp t = new Temp();
t.sayHello(new String[] {"Hello China","Hello Java"});
// t.sayHello("Hello Baby","Hello World","Hello FPGA");
}
public void sayHello(String[] args) {
for(int i=0;i<args.length;i++) {
System.out.println(args[i]);
}
}
// public void sayHello(int j,String ...args) {
// for(int i=0;i<args.length;i++) {
// System.out.println(args[i]);
// }