Java可变参数小案例和使用易错点

来源:互联网 发布:网络学校国家承认吗 编辑:程序博客网 时间:2024/06/07 08:34

留作日后参考:

/**   * 可变参数问题,一个小案例   * 可变参数的重载和重写问题。   * @author lzz   *   */ public class VariableParaTest {      public static void main(String[] args) {          int a = VariableParaTest.add(1, 2, 3, 4 ,5 ,6);          System.out.println(a);                    /*可变参数的这种重写和重载应当是我们编码过程中需要避免的*/         VariableParaTest vp=new SubVariablePara();          vp.add(3, 4, 5);   //正确   这里是把参数类表传给父类,然后才调用子类的方法          System.out.println(vp.add(2, 4, 5));          SubVariablePara vp1=new SubVariablePara();          vp1.add(2, 3);   //报错,这里直接使用SubVariablePara类,当然不可以把一个参数传给一个数组      }            //可变参数必须放到整个参数列表的最后一个参数位置,这时候此种类型的参数可以传任意个到      //到方法中,在方法中只要把可变参数当成数组来出来就好了。      public static int add(int a,int... as){          int sum=0;          for(int i: as){              sum+=i;          }          return sum;           }                  //Duplicate method add(int, int[]) in type VariableParaTest,这种情况是无法进行重载的  /*  public static int add(int a,int[] as){                }*/ }   class SubVariablePara extends VariableParaTest{            //以下的两种方法都可以重写,但是不可以加入注解@override   /*  public static int add(int a,int... as){          return 1;      }*/     public static int add(int a,int[] as){          return 1;      }  } 

本文出自 orangleliu笔记本 博客,请务必保留此出处http://blog.csdn.net/orangleliu/article/details/38309311


0 0
原创粉丝点击