有这样的例子: 
 
        class test{ 
 
               public static void show1(int a){ 
 
                       打印a 
 
               } 
 
               public static void show2(int a,int b){ 
 
                     打印a,b 
 
               } 
 
                    public static void main(String[] args){ 
 
                        show(1);show(1,2); 
 
               } 
 
         } 
 
       如果还要打印3个数据,4个数据...,必须重载多次,可以考虑改成如下形式: 
 
         class test{ 
 
               public static void show(int[] a){ 
 
                        打印数组a中所有元素 
 
               } 
 
               public static void main(String[] args){ 
 
                        show(new int[]{1});show(new int[]{1,2}); 
 
               } 
 
         } 
 
         每次将要打印的元素先封装成数组,再调用方法,这样浪费了内存空间,效率也低。 
 
        JDK1.5版本中出现了新特性:可变参数,其实就是上一种数组参数的简写形式,不用每一次都手动建立数组对象,只要将要操作的元素作为参数传递即可,隐式的将这些参数封装成了数组。 
 
        class test{ 
 
               public static void show(int...a){ 
 
                        打印数组a中所有元素 
 
               } 
 
               public static void main(String[] args){ 
 
                        show(1);show(1,2); 
 
               } 
 
         } 
 
  
 
         可变参数在使用时注意:可变参数一定要定义在参数列表的最后面。比如下面这样定义是可以的: 
 
         public static void show(String s,int...a){ 
 
          } 
 
         而下面这样定义编译不通过: 
 
          public static void show(int...a,String s){ 
 
                        打印数组a中所有元素 
 
           } 
 |   
        
 
    
    
    
     
 
 |