可变个数的形参

简介: 可变个数的形参的方法:    1、 格式,对于方法的形参:数据类型。。。形参名。    2、可变个数的形参的方法与同名的方法之间构成重载。

可变个数的形参的方法:

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

 

目录
相关文章
|
4月前
【函数】数组做函数参数
【函数】数组做函数参数
|
7月前
可变参数传入数组
可变参数传入数组
43 0
|
7月前
|
编译器 C语言
【可变参数列表如何可变?】
【可变参数列表如何可变?】
|
Java
Java方法的重载、可变个数形参、方法参数的值传递机制
Java方法的重载、可变个数形参、方法参数的值传递机制
99 0
数组作为函数参数传参&数组名到底代表什么意义?
数组作为函数参数传参&数组名到底代表什么意义?
|
Python
Python关键字个数可变的位置传参与个数可变的关键字传参
Python关键字个数可变的位置传参与个数可变的关键字传参
86 0
|
C语言 索引
数组的知识(可变与不可变)
数组的知识(可变与不可变)
466 0
数组的知识(可变与不可变)
|
JSON 数据格式
解构(数组,对象,字符串,数值,布尔,函数参数)
解构(数组,对象,字符串,数值,布尔,函数参数)https://es6.ruanyifeng.com/#docs/destructuring
141 0
|
编译器 C语言
【C 语言】数组 ( 一维数组形参退化 | 二维数组形参退化 | 函数形参等价关系 )
【C 语言】数组 ( 一维数组形参退化 | 二维数组形参退化 | 函数形参等价关系 )
145 0
Java语法糖--个数可变的形参
本文目录 1. 背景 2. 优点 3. 注意事项 3.1 位置只能在方法的最后 3.2 个数可变形参本质是数组,所以不能算重载
144 0