Java认证考试实例疑难辨析(7)

7.

【知识点】

(1)变元参数(Varargs)

在定义方法参数时,有时我们会需要多个数据类型相同的参数,但无法事先确定参数个数,使用变元参数(Varargs)就可以解决这个问题。

变元参数必须定义为方法中最后一个形式参数,在参数类型后跟由三个小圆点构成的省略号(即:… ),然后是一个空格,接着是形式参数名,如:

public Polygon polygonFrom(String format, Point... corners) {

……

}

带有变元参数的方法在调用时,可以使用指定类型的任何数目参数,甚至可以没有参数。

在定义变元参数的方法中,变元参数可以当作数组处理,参数名相当于数组名,通过数组索引号作为参数序号引用对应参数。

在调用变元参数的方法时,既可以将数组名作为实参传递给变元参数,也可以将若干个具有相同数据类型的实参序列传递给变元参数,这若干个相同类型的实参在带变元参数的方法中仍可以根据参数列表中序号对应的数组元素进行处理。

【例题】

Given:
public class Barn {
 public static void main(String[]args) {
   new Barn().go("hi",1);
   new Barn().go("hi","world", 2);
  }
 public void go(String... y,int x) {
     System.out.print(y[y.length - 1] +" ");
  }
}
What is the result?
A. hi hi
B. hi world
C. world world
D. Compilation fails.
E. An exception is thrown at runtime.
【Answer】 D

【例题辨析】

根据方法声明中使用变元参数的规定,变元参数必须是方法中最后一个参数,显然public void go(String...y, int x)中变元参数y不是最后一个参数,因此无法通过编译,答案为D。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值