[java] java 可变长参数
可变长参数:
package com.wa.xwolf.front.pojo; /** * Created by xwolf on 2015/9/1. */ public class VarArgs { public void get(int a,String... args){ String s =""; //可以将可变长参数作为数组来处理 for (String b:args){ s= s+b; } for (int i=0;i<args.length;i++){ s +=args[i]; } } /** * 只能有一个可变长参数必须作为最后一个参数 */ // public void set(String... args,int a){ // } static class Father{ void eat(String... foods){ System.out.println(foods[0]); } int save(int... ints){ System.out.println(ints[0]); return ints[1]; } void drink(String[] juces){ System.out.println(juces[1]); } } static class son extends Father{ @Override void eat(String... foods) { super.eat(foods); } /** * 此处编译异常,方法已经存在 */ // void eat(String[] foods){ // } /** * 可变长参数替换数组形式 * @param juces */ @Override void drink(String... juces) { super.drink(juces); } @Override int save(int[] args) { return super.save(); } } public static void main(String[] args){ son son = new son(); son.eat("1","2","3"); son.drink("water","coco","tea"); /** * 此处编译正常,运行异常 参看图3 */ son.save(12,21); } }
出现的错误:
1.一个方法中只能有一个可变长参数且必须为最后一个参数。

2.可变长参数和数组的冲突

3.

为毛??
save()方法出错,但是drink() 却能正常执行。

浙公网安备 33010602011771号