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

 更新时间:2022年02月22日 10:09:53   作者:@素素~  
这篇文章主要给大家介绍了关于Java可变个数形参的相关资料,文中通过图文以及实例代码介绍的非常详细,对大家学习或者使用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){
//
//    }
}

到此这篇关于Java可变个数形参的文章就介绍到这了,更多相关Java可变个数形参内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用Java8实现观察者模式的方法(上)

    使用Java8实现观察者模式的方法(上)

    本文给大家介绍使用java8实现观察者模式的方法,涉及到java8观察者模式相关知识,对此感兴趣的朋友一起学习吧
    2016-02-02
  • java实现收藏名言语句台词的app

    java实现收藏名言语句台词的app

    本文给大家分享的是使用java制作的记录名人名言台词等等让你难忘的语句的APP的代码,非常的实用,有需要的小伙伴可以参考下。
    2015-04-04
  • Apache SkyWalking 监控 MySQL Server 实战解析

    Apache SkyWalking 监控 MySQL Server 实战解析

    这篇文章主要介绍了Apache SkyWalking 监控 MySQL Server 实战解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Java函数式编程之通过行为参数化传递代码

    Java函数式编程之通过行为参数化传递代码

    行为参数化就是可以帮助你处理频繁变更的需求的一种软件开发模式,这篇文章将给大家详细的介绍一下Java函数式编程之行为参数化传递代码,感兴趣的同学可以参考阅读下
    2023-08-08
  • Java Socket编程实例(二)- UDP基本使用

    Java Socket编程实例(二)- UDP基本使用

    这篇文章主要讲解Java Socket编程中UDP的基本使用,希望能给大家做一个参考。
    2016-06-06
  • JVM中判定对象需要回收的方法

    JVM中判定对象需要回收的方法

    这篇文章主要介绍了jvm中如何判定对象需要回收,jvm在确定是否回收的对象的时候采用的是root搜索算法来实现,需要的朋友可以参考下
    2022-04-04
  • SWT(JFace)体验之ViewForm的使用

    SWT(JFace)体验之ViewForm的使用

    SWT(JFace)体验之ViewForm的使用
    2009-06-06
  • SpringBoot Entity中枚举类型详细使用介绍

    SpringBoot Entity中枚举类型详细使用介绍

    本文介绍SpringBoot如何在Entity(DAO)中使用枚举类型。(本文使用MyBatis-Plus)。在实际开发中,经常会遇到表示类型或者状态的情况,比如:有三种支付方式:微信、支付宝、银联。本文介绍如何这种场景的方案对比,并用实例来介绍如何用枚举这种最优雅的来表示
    2022-10-10
  • java.mail实现发送邮件

    java.mail实现发送邮件

    这篇文章主要为大家详细介绍了java.mail实现发送邮件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • 深入学习springboot线程池的使用和扩展

    深入学习springboot线程池的使用和扩展

    这篇文章主要介绍了深入学习springboot线程池的使用和扩展,springboot框架提供了@Async注解,帮助我们更方便的将业务逻辑提交到线程池中异步执行,需要的朋友可以参考下
    2019-06-06

最新评论