1. 程式人生 > 實用技巧 >反射機制中的Method

反射機制中的Method

1.可變長度引數

  語法:型別...

  例如:int...args String...args


  (1)可變長度引數要求的個數是:0-N個
   (2)可變長度引數在引數列表中必須在最後一個位置上,且可變長度引數只能有一個:m2(int a,String...args)
   (3)可變長度引數可以當作一個數組來看待

a,

 1 public class ArgsTest {
 2     
 3     public static void main(String[] args){
 4         m();
 5         m(10);
 6         m(10,20);
7 } 8 9 public static void m(int... args){ 10 System.out.println("m方法執行了!"); 11 } 12 13

執行:

m方法執行了!
m方法執行了!
m方法執行了!

b.

 1 package Reflect;
 2 
 3 public class ArgsTest {
 4     
 5     public static void main(String[] args){
 6         
 7         m2(100);
 8         m2(100,"abc");
9 m2(100,"abc","def","ghi"); 10 } 11 12 public static void m2(int a,String...args){ 13 System.out.println("m2方法執行了!"); 14 } 15 16 }

執行結果:

m2方法執行了!
m2方法執行了!
m2方法執行了!

c.可以看作一個數組

 1 package Reflect;
 2 public class ArgsTest {
 3     
 4     public static void main(String[] args){
5 6 m3("1","2","3","ab","cd","efg"); 7 } 8 9 public static void m3(String...args){ 10 for(int i=0;i<args.length;i++){ 11 System.out.println("m3方法執行了------->"+i+"---------"+args[i]); 12 } 13 } 14 15 }

執行結果:

m3方法執行了------->0---------1
m3方法執行了------->1---------2
m3方法執行了------->2---------3
m3方法執行了------->3---------ab
m3方法執行了------->4---------cd
m3方法執行了------->5---------efg