首页 理论教育 Java可变参数方法-从入门到精通

Java可变参数方法-从入门到精通

时间:2023-10-19 理论教育 版权反馈
【摘要】:从JDK 1.5开始,Java支持在一个方法中传递数量不定的同类型参数,即可变参数传递。动手写4.3.2main()方法中,在第一条test语句优先执行固定入参的方法后,第二条语句才会找到可变参数的方法进行执行,运行结果如下:图4.3.2优先执行固定参数方法提示如果在调用一个重载方法时,同时存在两个都是可变参数的同名方法,并且这两个方法通过入参都可以有效单独调用,如test(String…

Java可变参数方法-从入门到精通

从JDK 1.5开始,Java支持在一个方法中传递数量不定的同类型参数,即可变参数传递。在方法声明时,在指定的入参类型后面加一个英文省略号“…”。可变参数方法定义格式如下:

一个方法中可以定义多个参数,但是可变参数只能定义一个,并且位置必须为方法入参中的最后一个参数,任何其他普通的参数定义必须在可变入参之前。可变参数在Java编译时会被处理为一个相应类型的数组

动手写4.3.1

调用可变入参方法时,入参个数也可以为零。动手写4.3.1的运行结果为:

图4.3.1 可变入参方法定义和使用

方法可以重载,即存在两个名称相同但是入参不同的方法(重载将在第9章中详细介绍)。当调用这样的方法时,固定参数的方法会被优先调用。

动手写4.3.2

(www.xing528.com)

main()方法中,在第一条test语句优先执行固定入参的方法后,第二条语句才会找到可变参数的方法进行执行,运行结果如下:

图4.3.2 优先执行固定参数方法

提示

如果在调用一个重载方法时,同时存在两个都是可变参数的同名方法,并且这两个方法通过入参都可以有效单独调用,如test(String… args)和test(String arg1, String… args),那么系统会找不到对应的方法,程序编译将会报错。

动手写4.3.3

上述代码中,对于两个入参“入参1”和“入参2”,系统没有办法通过重载的方式找到具体调用哪个方法,编译报错如下:

图4.3.3 两个相同可变参数同名方法编译报错

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈