参考视频链接https://www.bilibili.com/video/BV1CJ411m7gg?p=47
可变参数的形参
假如我们能够打印的信息都来源于方法的参数也就是形参的传递且我们不知道想要给方法传递多少个参数,就要用到可变参数的形参。
- 形式1:采用数组形参来定义方法
public static void test(int a,String[] books);
- 形式2:以可变个数形参来定义方法
public static void test(int a,String...books);
注意:方法的参数部分有可变形参,需要放在形参声明的最后
/**
*在主函数中测试
*/
Teacher t1=new Teacher();
String[] args1=new String[]{"Zhangsan","11"};
t1.show(args1);
String[] args2=new String[]{"北京市xxx","2135"};
t1.show(args2);
t1.show2("zhangsan","12");
t1.show2(args1);//此形式也可以采用数组方式进行传递
/**
* 在Teacher类中
* 采用数组形参来定义方法
*/
public void show(String[] args){
for(int i=0;i<args.length;i++){
System.out.println(args[i]);
}
}
/**
* 用java特有的...的方式来传递可变参数的个数
* 如果没有参数参数设为null?
* 使用方式和数组相同
* @param args2
*/
public void show2(String...args2){
for(int i=0;i<args2.length;i++){
System.out.println(args2[i]);
}
}
注意点:
- 参数类型和参数名是可变的
public void show(int...i)//也可,但是字符串可表示的形式更加多样化
- …表示参数的个数为0到多个,可以不进行参数传递。若进行数组传递则一定要有参数,若数组为空则参数为null。