信息发布→ 登录 注册 退出

Java可变个数形参的方法实例代码

发布时间:2026-01-11

点击量:
目录
  • 前言
  • 演示
    • 优先级
    • 多个参数传参情况
  • 总结
    • 简单测试代码

      前言

      小小知识,不值一提,了解了也不能让你提高身价,但是不了解你就是比别人少知道点!事儿就是这么个事儿,直接正题吧! 直接看代码

      演示

      优先级

      当方法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){
      //
      //    }
      }
      
      在线客服
      服务热线

      服务热线

      4008888355

      微信咨询
      二维码
      返回顶部
      ×二维码

      截屏,微信识别二维码

      打开微信

      微信号已复制,请打开微信添加咨询详情!