Java入门:06.Java中的方法--进阶02.03

2 可变参数

方法调用时, 传递的实参数量,是由被调用方法的参数列表数列决定的。

一般来讲,传递的实参数量必须与形参变量数量相同,但是也有一种特殊的参数,允许调用时传递的实参数量是可变,这种参数就称为:可变参数

语法

 public static void t1(int num1 , int num2){}​public static void t2(int...nums){}​main(){t1(10,30) ;t1(10) ;//错t1(10,20,30);//错t2();  //正确t2(10);//正确t2(10,20,30);//正确}

特点

  • 可变参数的本质是一个数组。

  • 接收者在使用可变参数时,无论传递多少个数据,都以数组的语法进行操作。

    传递了多少个数据,数组的长度就是多少。

  • 调用者在传递参数的时候,可以传递任意数量的参数,0 , 1, n,还可以传递数组

  • 方法的参数列表中,只能定义一个可变参数。

  • 方法的参数列表中一旦定义了可变参数,只能是最后一个参数

3 方法重载

在一个类中,多个方法的名称相同,参数列表不同,执行不同的操作,就称这多个方法为重载方法。

  • 参数列表不同体现在 参数的个数和类型不同

  • 方法重载与访问权限,修饰符,返回类型,异常声明无关。

调用时,会自动的根据方法名和参数列表却分调用的到底哪一个方法。

 public static int sum(int num1,int num2){}public static int sum(int num1 , int num2 , int num3){}public static double sum(double num1 , double num2){}​public static double sum(int num1, int num2){}  //错误

方法重载是在编译时就确定了要执行的方法。

特殊情况下的重载

  • 实参的类型和形参的类型不直接相同时(但存在可转换)

    先根据相同的参数类型匹配一些方法

    然后再将类型不同的参数进行类型转换,匹配与之参数类型最近的方法。

  • 再有可变参数的情况下, 有限匹配类型和数量相同的方法。

  • 如果两个重载方法都含有相同类型的可变参数。 调用为可变参数必须传递数组

 public class Test4{​public static void t1(int i , float j){System.out.println("11111111");}public static void t1(int i , double j){System.out.println("22222222");}public static void t1(double i , double j){System.out.println("33333333");}public static void t2(int i , int j){System.out.println("44444444");}public static void t2(int i,int...nums){System.out.println("55555555");}public static void t2(int ...nums){System.out.println("66666666");}​public static void main(String[] args){t1(10,20); //111111t2(10,20) ;//444444t2(10,20,30) ;//报错,无法分别调用的是哪一个可变参数的方法t2(10,new int[]{20,30}); // 555555}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/52403.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS3多行多栏布局

当前布局由6个等宽行组成&#xff0c;其中第四行有三栏&#xff0c;第五行有四栏。 重点第四行设置&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>img {hei…

做项目过程中问题小汇总 | vue3 elementplus js

el-card去除阴影 <el-card style"box-shadow: none;"> </el-card>el-button按钮加图标 <el-button type"primary" size"default" icon"Plus"click"addRole">添加职位</el-button>el-table表头的文…

linux和docker部署基本的命令掌握

git用到的指令 上传代码 git add . git commit -m zhushi git push 拉取代码 git clone 代码仓地址 git pulldocker用到的指令 # 查看docker下的容器进程,停止和删除 docker ps -a docker stop name(id) docker rm name(id) # docker下面的镜像和删除 docker images docker r…

AI 时代的编程革命:如何在挑战中抓住机遇?

AI 发展对软件开发的挑战与机遇&#xff1a;程序员应对策略 随着人工智能&#xff08;AI&#xff09;技术的快速进步&#xff0c;软件开发领域正经历深刻的变革。AI 不仅改变了编程的方式&#xff0c;也对程序员的职业发展产生了重要影响。在这个背景下&#xff0c;我们既看到…

WPF—数据模版绑定数据集合(listbox和panel)

WPF—数据模版绑定数据集合(listbox和panel) WPF中&#xff0c;可以使用ListBox或者Panel&#xff08;比如StackPanel或Canvas&#xff09;来展示数据集合&#xff0c;并使用数据模板DataTemplate来定义数据的呈现方式。以下是一些简单的例子&#xff0c;展示如何将数据集合绑…

C#高级进阶---关于插件开发(初版)

一、关于插件 插件开发是一种使应用程序功能可扩展的技术。通过插件&#xff0c;应用程序可以动态地加载和使用外部功能模块&#xff0c;而无需重新编译整个程序。 1. 插件架构设计 插件系统通常包含以下几个核心部分&#xff1a; 主程序&#xff08;Host Application&#x…

HTML5休闲小游戏《砖块破坏者》源码,引流、刷广告利器

HTML5休闲小游戏《砖块破坏者》源码&#xff0c;直接把源码上传到服务器就能使用了&#xff01; 下载链接&#xff1a;https://www.huzhan.com/code/goods468802.html

Linux:Bash中的命令介绍(简单命令、管道以及命令列表)

相关阅读 Linuxhttps://blog.csdn.net/weixin_45791458/category_12234591.html?spm1001.2014.3001.5482 在Bash中&#xff0c;命令执行的方式可以分为简单命令、管道和命令列表组成。这些结构提供了强大的工具&#xff0c;允许用户组合命令并精确控制其执行方式。以下是对这…

自己制作VOC转yolo的软件

不多说&#xff0c;直接贴源码&#xff0c;很简单&#xff0c;直接复制下来运行就行 from PyQt5.QtWidgets import (QWidget, QVBoxLayout, QLabel, QLineEdit, QPushButton,QListWidget, QProgressBar, QHBoxLayout, QMainWindow, QFileDialog, QMenu,QDesktopWidget, QSplas…

Kubernetes 中如何对 etcd 进行备份和还原

etcd 是 Kubernetes 集群的重要组件&#xff0c;存储了集群的所有数据&#xff0c;如配置文件、状态信息、以及服务发现数据。因此&#xff0c;定期备份和能够快速还原 etcd 数据是保障 Kubernetes 集群安全与稳定运行的关键步骤。本文将详细介绍如何对 etcd 进行备份与还原的具…

7z解压crc错误 7-Zip-常见问题解答

7-Zip 是一个流行的文件压缩和解压缩工具&#xff0c;但在使用过程中&#xff0c;有时会遇到 CRC&#xff08;循环冗余校验&#xff09;错误。这通常意味着压缩文件已损坏或未完全下载。以下是一些可能的原因及解决方案。 常见原因 文件损坏&#xff1a;下载过程中出现错误&a…

2024年【电气试验】找解析及电气试验模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 电气试验找解析根据新电气试验考试大纲要求&#xff0c;安全生产模拟考试一点通将电气试验模拟考试试题进行汇编&#xff0c;组成一套电气试验全真模拟考试试题&#xff0c;学员可通过电气试验模拟考试全真模拟&#…

文件IO和多路复用IO

目录 前言 一、文件 I/O 1.基本文件 I/O 操作 1.1打开文件 1.2读取文件内容 (read) 1.3写入文件 (write) 1.4关闭文件 (close) 2.文件指针 二、多路复用 I/O 1.常用的多路复用 I/O 模型 1.1select 1.2poll 1.3epoll 2.使用 select、poll 和 epoll 进行简单的 I/O…

C++观察者模式Observer

组件协作 –(都是晚绑定的&#xff09; ----观察者模式 为某些对象建立一种通知依赖的关系&#xff0c; 只要这个对象状态发生改变&#xff0c;观察者对象都能得到通知。 但是依赖关系要松耦合&#xff0c;不要太依赖。 eg&#xff1a;做一个文件分割器&#xff0c;需要一个…

css实现水滴效果图

效果图&#xff1a; <template><div style"width: 100%;height:500px;padding:20px;"><div class"water"></div></div> </template> <script> export default {data() {return {};},watch: {},created() {},me…

B/S架构和C/S架构的区别

B/S架构、C/S架构区别 1. B/S架构 1.1 什么是B/S架构 B/S架构的全称为Browser/Server&#xff0c;即浏览器/服务器结构。Browser指的是Web浏览器&#xff0c;极少数事务逻辑在前端实现&#xff0c;但主要事务逻辑在服务器端实现。B/S架构的系统无须特别安装&#xff0c;只需要…

C知识扫盲-------文件结束符(EOF)

引言&#xff1a; 在文件操作中&#xff0c;EOF 是 “End of File”&#xff08;文件结束&#xff09;的缩写&#xff0c;用于指示文件的结束。EOF 是一个特殊的整型值&#xff08;int&#xff09;&#xff0c;当文件指针到达文件末尾时&#xff0c;许多文件操作函数会返回这个…

动态内存管理-经典笔试题

目录 题目一&#xff1a; 题目二&#xff1a; 题目三&#xff1a; 题目四&#xff1a; 题目一&#xff1a; 结果&#xff1a;程序崩溃 原因&#xff1a; 1、函数是传值调用&#xff0c;出了函数p不存在&#xff0c;str未改变&#xff0c;依旧为空指针&#xff0c;运行时发…

【CTF Web】CTFShow 版本控制泄露源码2 Writeup(目录扫描+.svn泄漏)

版本控制泄露源码2 10 版本控制很重要&#xff0c;但不要部署到生产环境更重要。 解法 用 dirsearch 扫描。 dirsearch -u https://8d22223d-dc2c-419c-b82d-a1d781eda427.challenge.ctf.show/找到 .svn 仓库。 访问&#xff1a; https://8d22223d-dc2c-419c-b82d-a1d781eda…

ubuntu安装minio

# 下载MinIO的可执行文件 curl -O https://dl.min.io/server/minio/release/linux-amd64/minio # 添加执行权限 chmod x minio # 运行MinIO (需要先创建存储数据和存储存储桶的目录) nohup ./minio server /home/lighthouse/minioDir/data /home/lighthouse/minioDir/bucke…