可变长参数:
package fanshe2;
import java.util.Date;
import java.util.Timer;
/**
* 关于java中的可变长参数
*
*
*/
public class fanshe1 {
//m1方法有一个int类型可变长参数
public static void m1(int... a) {//m1方法在调用的时候,传递的实参,可以是0-N个。
System.out.println("Test");
}
//如果可以精确匹配的方法,则调用该方法,不会再去执行可变长参数的那个方法
public static void m1(int a) {
System.out.println("Test");
}
//可变长参数可等同看做数组
public static void m2(String... args) {
for(int i=0;i<args.length;i++) {
System.out.println(args[i]);
}
}
public static void m3(Class... args) throws InstantiationException, IllegalAccessException {
for(int i=0;i<args.length;i++) {
Class c=args[i];
System.out.println(c.newInstance());
}
}
//可变长参数只能出现一次,并且只能出现在所有参数的最后一位
public static void m4(int a,String... args) {
for(int i=0;i<args.length;i++) {
System.out.println(args[i]);
}
}
public static void main(String[] args) throws InstantiationException, IllegalAccessException {
m1();
m1(1);
m1(1,2);
m1(3,4,5);
m2("体育","音乐","旅游");
String[] s= {"体育","音乐","旅游"};
m2(s);
m3(Date.class,Timer.class);
m4(0, "学习","向上","加油");
}
}