1 /*
2 关于java中的可变长参数
3 */
4 import java.util.Date;
5
6 public class Test01
7 {
8 //m1方法有一个int类型可变长参数
9 public static void m1(int... a){ //m1方法在调用的时候,传递的实参可以是 0-N 个.
10 System.out.println("Test");
11 }
12
13 //如果可以精确匹配的方法,则调用该方法,不会再去执行可变长参数的那个方法.
14 public static void m1(int i){
15 System.out.println(i);
16 }
17
18 //可变长参数可以等同看做数组
19 public static void m2(String... args){
20
21 for(int i=0;i<args.length;i++){
22 System.out.println(args[i]);
23 }
24
25 }
26
27
28 public static void m3(Class... args) throws Exception{
29 for(int i=0;i<args.length;i++){
30 Class c = args[i];
31 System.out.println(c.newInstance());
32 }
33 }
34
35 //可变长参数只能出现一次,并且只能出现在所有参数的最后一位。
36 //public static void m4(String... a,int i){}
37
38 public static void m4(int i,String... a){}
39
40 public static void main(String[] args) throws Exception{
41 m1();
42 m1(1);
43 m1(1,2);
44 m1(3,4,5,6,7);
45
46 m2("体育","音乐","旅游","美食");
47
48 String[] s = {"体育","音乐","旅游","美食"};
49 m2(s);
50
51
52 m3(Date.class,Employee.class);
53 }
54 }