可变个数的形参

可变个数的形参的方法:

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

猜你喜欢

转载自blog.csdn.net/weixin_42039602/article/details/81087491
今日推荐