Gointerface接口声明实现及作用详解
297
2022-08-26
Java可变个数形参的方法实例代码
目录前言演示优先级多个参数传参情况总结简单测试代码
前言
小小知识,不值一提,了解了也不能让你提高身价,但是不了解你就是比别人少知道点!事儿就是这么个事儿,直接正题吧! 直接看代码
演示
优先级
当方法1无参和方法2有参存在时,执行上面的main方法调用并观看结果:
当只有可变参数方法存在时,再重新执行看看
多个参数传参情况
一是多个参数逗号隔开传参
二是直接可以传数组
总结
①调用的时候参数可不传或传多个
②如果有无参或者有可数个参数的重载方法存在时,调用同名方法时,可变参数方法的优先级靠后,没有其他重载方法,则自动调用可变参数方法
③与形参类型相同的数组直接不能构成重载,可以认为,可变参数代替了数组参数
④在参数方法的形参中,可变个数形参必须声明在末尾,并且最多只能声明一个可变形参
另外:
简单测试代码
package com.liu.susu.other;
/**
* 可变形参方法
* 注意:①调用的时候参数可不传或传多个
* ②如果有无参或者有可数个参数的重载方法存在时,调用同名方法时,可变参数方法的优先级靠后,
* 没有其他重载方法,则自动调用可变参数方法
* ③与形参类型相同的数组直接不能构成重载,可以认为,可变参数代替了数组参数
* ④在参数方法的形参中,可变个数形参必须声明在末尾,并且最多只能声明一个可变形参
*/
public class Test {
public static void main(String[] args) {
Test t = new Test();
// t.playGames();
// t.playGames("麦兜");
t.playGames("麦兜","贝塔","酥妮");
t.playGames(new String[]{"点点","阿苔"});
}
//1.无参方法
public void playGames(){
System.out.println("playGames()");
}
//2.有一个参数方法
public void playGames(String name){
System.out.println(name+"-->playGames(String name)");
}
//3.可变形参方法
public void playGames(String ... name){
System.out.println("playGames(String ... name)");
for (int i = 0; i < name.length; i++) {
System.out.println(name[i]+"--->加入游戏……");
}
}
/**
* 4.--|在参数方法的形参中,可变个数形参必须声明在末尾,并且最多只能声明一个可变形参
* --|可变形参参数的类型不要与前面类型一致,比如下面的dogNum的类型尽量不要用String,
* --|①是意义不大,②是在调用时与上面第3方法冲突,不知道调的哪个
*/
public void playGames(int dogNum,String ... name){
System.out.println("playGames(String dogNum,String ... name)");
}
// public void playGames(String[] name){
//
// }
}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~