当前位置: 首页 > news >正文

【Java09】方法(下)

1. 形参个数可变的方法

Java允许方法指定数量不确定的形参。如果在定义方法是,在最后一个形参的类型后加...,则表明该形参可以接受多个参数值。多个参数值作为数组传入:

public class Varargs
{public static void test(int a, String... books){// books是个数组for (var tmp : books){System.out.println(tmp);}}public static void main(String[] args){test(5, "数学", "语文", "英语");}
}

个数可变的形参,实际上就是一个数组参数,也就是说以下两种定义是等价的:

public static void test(int a, String... books); // 个数可变的形参
public static void test(int a, String[] books); // 数组类型的形参

但是!在调用的时候有区别:

  • 个数可变的形参,可以直接传入多个相同类型的参数:
test(5, "语文", "数学", "英语");
  • 而数组形参,不能传入未初始化的数组:
// 首先初始化数组
var books = new String[]{"语文", "数学", "英语"};
test(5, books);// 或者用动态初始化
test(5, new String[]{"语文", "数学", "英语"});

还要注意,Java里,个数可变的形参必须是最后一个,且只有这一个可变个数的形参。

2. 方法重载

Java中确定一个方法需要三个要素:

  1. 方法的所属:类还是对象;
  2. 方法名
  3. 形参列表

Java中对方法重载的要求和C++不一样,明确是“二同一不同”:同一个类中、方法名相同,但是形参列表不同

Java中方法重载的定义比C++狭窄。

方法的其他部分,比如返回值、修饰符,和重载没有关系

比如:

// 方法重载
public void test();
public void test(String msg);// 不认为是方法重载
public static void test();
public void test();
public int test();

没用的知识(炫技用的):

当一个参数的方法和形参个数可变的方法重载时,形参个数可变的方法不会接受传入一个参数。或者说,传入一个参数的话,会默认调用一个参数的方法:

public void test(String msg);
public void test(String... msg);test(); // 0个参数,调用形参个数可变的方法;
test("aa"); // 1个参数,调用第一个方法;
test("aa","bb"); // 2个参数,调用第二个方法。

实际编程时,尽量不要重载形参个数可变的方法,没啥意义,降低代码的可读性。

相关文章:

【Java09】方法(下)

1. 形参个数可变的方法 Java允许方法指定数量不确定的形参。如果在定义方法是,在最后一个形参的类型后加...,则表明该形参可以接受多个参数值。多个参数值作为数组传入: public class Varargs {public static void test(int a, String... b…...

d88888888

分析:v9999999999 vn输出n个n 先算出n的位数p 所以答案是nn*10的p次方n*10的2p次方.....n*10的(n-1)p次方 化简n*(10的0次方10的p次方10的2p次方.....10的(n-1)p次方) 后面为等比数列求和 …...

【MySQL备份】mysqldump基础篇

目录 1.简介 2.基本用途 3.命令格式 3.1常用选项 3.2常用命令 4.备份脚本 5.定时执行备份脚本 1.简介 mysqldump 是 MySQL 数据库管理系统的命令行实用程序,用于创建数据库的逻辑备份。它能够导出数据库的结构(如表结构、视图、触发器等&#xf…...

C# Halcon目标检测算法

在Halcon中进行目标检测可以使用传统的计算机视觉方法,也可以使用深度学习的方法。Halcon提供了丰富的函数库来处理这些任务,而在C#中使用Halcon,你需要通过Halcon .NET接口。 以下是使用Halcon进行目标检测的一般步骤,这里我将给…...

7.4总结

今天写了几道题目 最近,一年级学生马克西姆学习了科拉兹猜想,但他在讲课时没有太注意,所以他认为猜想中提到了以下过程: 有一个变量 $$$x$$$ 和一个常数 $$$y$$$ 。下面的操作要执行 $$$k$$$ 次: - 将 $$$x$$$ 增加…...

知识图谱查询语言的表示

文章目录 SPARQL知识图谱查询基本构成常见的SPARQL查询算子语义Markup表示语言SPARQL知识图谱查询基本构成 RDF 支持类似数据库的查询语言,叫作SPARQL,它提供了查询RDF 数据的标准语法、处理SPARQL查询的规则以及结果返回形式。 变量,RDF中的资源,以“?”或者“$”指示;…...

重生之我要学后端100--计算机网络部分概念(持续更新)

TCP/IP、DNS、负载均衡器等等 前言一、TCP/IP(传输控制协议/互联网协议)二、DNS(域名系统)三、负载均衡器其他网络概念 前言 了解网络基础知识对于后端开发者至关重要,因为这些知识有助于理解应用程序是如何在更广阔的…...

时空预测+特征分解!高性能!EMD-Transformer和Transformer多变量交通流量时空预测对比

时空预测特征分解!高性能!EMD-Transformer和Transformer多变量交通流量时空预测对比 目录 时空预测特征分解!高性能!EMD-Transformer和Transformer多变量交通流量时空预测对比效果一览基本介绍程序设计参考资料 效果一览 基本介绍…...

Vue 循环内部获取图片高度

在vue循环里面获取图片宽度或者高度,有时候会用到,则可以 <div classconmon v-for"(item, index) in items"><router-link :to"{path: /art/details,query:{artid:item.app_id,item_id:item.image_id}}"><img :src"item.src" al…...

vue动态组件与插件到底是什么?

background: yellow; } 子组件1 <ul><li v-for"item of items" :key"item"><input type"checkbox" />{{ item }}</li></ul>子组件2 PostMail 子组件3 RecycleBin ![在这里插入图片描述](https://img-blog.csdni…...

SwiftUI九创建watchOS应用

代码下载 这篇教程让可以应用之前所学到的SwiftUI知识&#xff0c;把Landmarks应用从iOS平台迁移到watchOS平台上。在拷贝可以共用的数据和视图文件之前&#xff0c;需要先给项目中添加一个对应watchOS的Target编译目标。在所有 assets 就绪后&#xff0c;将自定义SwiftUI视图…...

【Linux进阶】文件和目录的默认权限与隐藏权限

1.文件默认权限&#xff1a;umask OK&#xff0c;那么现在我们知道如何建立或是改变一个目录或文件的属性了&#xff0c;不过&#xff0c;你知道当你建立一个新的文件或目录时&#xff0c;它的默认权限会是什么吗&#xff1f; 呵呵&#xff0c;那就与umask这个玩意儿有关了&…...

SQL 查询中 (+) 符号的含义

您已经很好地解释了 SQL 查询中 () 符号的含义&#xff0c;它确实用于表示左外连接&#xff08;LEFT OUTER JOIN&#xff09;&#xff0c;这是 SQL 中的一种连接操作。以下是对您提供的信息的补充和完善&#xff1a; ### 左外连接&#xff08;LEFT OUTER JOIN&#xff09;&…...

基于Vue的MOBA类游戏攻略分享平台

你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;Java技术、SpringBoot框架、B/S模式、Vue.js 工具&#xff1a;MyEclipse、MySQL 系统展示 首页 用…...

如何在PhpStorm中运行SQL文件?

如何在PhpStorm中运行SQL文件&#xff1f; 提问&#xff1a;如何在PhpStorm中运行SQL文件&#xff1f; 解答&#xff1a;本文将详细介绍如何在PhpStorm中运行SQL文件的步骤&#xff0c;包括如何配置数据库连接和执行SQL脚本&#xff0c;并附带示例SQL代码。 1. 配置数据库连…...

Qt实现检测软件是否多开

Qt实现检测软件是否多开 在桌面软件开发中&#xff0c;软件通常要设置只允许存在一个进程&#xff0c;像一些熟知的音乐软件&#xff0c;QQ音乐这种。而这些软件在限制只有一个进程的同时&#xff0c;通常还会有双击桌面图标唤醒已运行的后台进程的功能。关于双击桌面唤醒已运…...

spring security + vue,登录功能

前端代码&#xff1a;https://gitee.com/forgot940629/vuelogin 后端代码&#xff1a;https://gitee.com/forgot940629/springbootloginv2 参考代码&#xff1a;https://github.com/PuZhiweizuishuai/SpringSecurity-JWT-Vue-Deom 基于前后端分离实现登录功能。登录成功后后端向…...

64.函数参数和指针变量

目录 一.函数参数 二.函数参数和指针变量 三.视频教程 一.函数参数 函数定义格式&#xff1a; 类型名 函数名(函数参数1,函数参数2...) {代码段 } 如&#xff1a; int sum(int x&#xff0c;int y) {return xy; } 函数参数的类型可以是普通类型&#xff0c;也可以是指针类…...

原创作品 —(金融行业)年金系统交互和视觉设计

金融行业软件交互设计要点&#xff1a;“简化操作流程&#xff0c;确保流畅易用&#xff0c;同时注重交易环境的安全可靠&#xff0c;通过个性化体验提升用户满意度&#xff0c;并及时收集反馈以持续优化。” 2.UI设计要点&#xff1a;“注重视觉效果与用户体验的平衡&#xff…...

3D slicer

...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

五年级数学知识边界总结思考-下册

目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解&#xff1a;由来、作用与意义**一、知识点核心内容****二、知识点的由来&#xff1a;从生活实践到数学抽象****三、知识的作用&#xff1a;解决实际问题的工具****四、学习的意义&#xff1a;培养核心素养…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行

项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战&#xff0c;克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码&#xff0c;而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库&#xff0c;可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画&#xff0c;可以包含在你的网页或应用项目中。 3.An…...

Caliper 负载(Workload)详细解析

Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...

FFmpeg avformat_open_input函数分析

函数内部的总体流程如下&#xff1a; avformat_open_input 精简后的代码如下&#xff1a; int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...