天天看點

可變個數的形參

可變個數的形參的方法:

    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]);
//		}