Java基础学习:6、方法的重载和可变参数
一、方法重载:
基本介绍:
Java中允许在一个类中,多个同名方法的存在,到要求形参列表不一致。
注意事项:
1、方法名:必须一致。
2、形参列表:必须不同(形参类型或个数或顺序至少有一样不同,参数名无要求:int n 和 int a 是一样的)。
3、返回类型:无要求。
重载的意义:
1、减轻了起名的麻烦。
2、减轻了记名的麻烦。
public class Overload {
public static void main(String[] args) {
Methods methods = new Methods();
int cal1 = methods.cal(12);
int cal2 = methods.cal(12,22);
String cal3 = methods.cal("hello");
System.out.println(cal1 + " " + cal2 + " " + cal3);
}
}
class Methods{
public int cal(int n) {
return n * n;
}
public int cal(int n1, int n2) {
return n1 * n2;
}
public String cal(String str) {
return str;
}
}
二、可变参数:
定义:就是方法的参数的个数是可变的。
public class Overload {
public static void main(String[] args) {
Methods methods = new Methods();
int sum = methods.sum(1,2,3,4,5);
System.out.println(sum);
}
}
class Methods{
/*
1、int... 表示接收的是可变参数,类型为int,即可以接收任意个int类型参数。
2、使用可变参数是可以当做数组来使用,即nums 可以当做数组。
3、遍历nums求和即可。
* */
public int sum(int... nums) {
int res = 0;
for (int i = 0; i < nums.length; i++) {
res+=nums[i];
}
return res;
}
}
使用细节:
1、可变参数的实参可以是0或者任意多个。
2、可变参数的实参可以为数组,可变参数的本质就是数组。
public class Overload {
public static void main(String[] args) {
Methods methods = new Methods();
int[] arr = {1, 2, 3};
int sum = methods.sum(arr);
System.out.println(sum);
}
}
class Methods{
public int sum(int... nums) {
int res = 0;
for (int i = 0; i < nums.length; i++) {
res+=nums[i];
}
return res;
}
}
3、可变参数可以和普通类型参数一起放在形参列表,但必须保证可变参数在最后。
public int sum(int n1, int n2 ,int... nums) {
int res = 0;
for (int i = 0; i < nums.length; i++) {
res+=nums[i];
}
return res;
}
4、一个形参列表中只能出现一个可变参数。
Java基础学习:6、方法的重载和可变参数的更多相关文章
- java基础学习总结——方法的重载(overload)
一.方法的重载 方法名一样,但参数不一样,这就是重载(overload). 所谓的参数不一样,主要有两点:第一是参数的个数不一样,第二是参数的类型不一样.只要这两方面有其中的一方面不一样就可以构成方法 ...
- JAVA基础篇 之 方法的重载
任何程序语言都具备了一项重要的特性就是对名字的运用.当创建一个对象时,也就给此对象分配到的存储空间取了一个名字.所谓方法则是给某个动作取的名字.通过使用名字你可以引用所有的对象和方法. 将人类 ...
- Java基础学习(一)—方法
一.方法的定义及格式 定义: 方法就是完成特定功能的代码块. 格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2){ 函数体; return 返回值; } 范例1: 写一个两个 ...
- 零基础学习java------day14-----泛型,foreach,可变参数,数组和集合间的转换,Set,Map,
1.泛型(jdk1.5以后出现) https://www.cnblogs.com/lwbqqyumidi/p/3837629.html#!comments (1)为什么要用泛型? 限制集合,让它只能存 ...
- 转载-java基础学习汇总
共2页: 1 2 下一页 Java制作证书的工具keytool用法总结 孤傲苍狼 2014-06-24 11:03 阅读:25751 评论:3 Java基础学习总结——Java对象的序列化和 ...
- 尚学堂JAVA基础学习笔记
目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...
- Java基础学习笔记总结
Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...
- Java 基础:hashCode方法
Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket 一.前言 泥瓦匠最近被项目搞的天昏地暗.发现有些要给自己一些目标,关于技术的目标: 专注很重要.专注J ...
- Java基础五(方法)
今日内容介绍1.方法基础知识2.方法高级内容3.方法案例 ###01方法的概述 * A: 为什么要有方法 * 提高代码的复用性 * B: 什么是方法 * 完成特定功能的代码块. ###02方法的定义格 ...
- java基础学习总结——java环境变量配置(转)
只为成功找方法,不为失败找借口! 永不放弃,一切皆有可能!!! java基础学习总结——java环境变量配置 前言 学习java的第一步就要搭建java的学习环境,首先是要安装 JDK,JDK安装好之 ...
随机推荐
- Grafana 系列文章(十三):如何用 Loki 收集查看 Kubernetes Events
前情提要 IoT 边缘集群基于 Kubernetes Events 的告警通知实现 IoT 边缘集群基于 Kubernetes Events 的告警通知实现(二):进一步配置 概述 在分析 K8S 集 ...
- IoT 边缘集群基于 Kubernetes Events 的告警通知实现(二):进一步配置
上一篇文章 IoT 边缘集群基于 Kubernetes Events 的告警通知实现 目标 告警恢复通知 - 经过评估无法实现 原因: 告警和恢复是单独完全不相关的事件, 告警是 Warning 级别 ...
- IOS12 + Xscode12 报错:Building for iOS Simulator, but linking in dylib built for iOS, file '/Users/XXX/Desktop/XXXX/XXX.framework/JSSDK' for architecture arm64
问题描述:编译过程出现错误,Building for iOS Simulator, but linking in dylib built for iOS, file '/Users/XXX/Deskt ...
- Git常用指令集合🔥
关联文章:Git入门图文教程(1.5W字40图)--深入浅出.图文并茂 指令-查看状态信息 指令 描述 git --version 查看git版本 git status 查看本地仓库状态,比较常用的指 ...
- async异步编程屏蔽凡人
为提高效率与增加逼格,墙裂建议引入async异步编程,这不比基于threading的线程.基于multiprocessing的进程香?这些大家伙太重量级了,代码又啰里啰唆的一点也不pythonic,只 ...
- 【ARM架构】armv8 系统安全概述
ARMv8-A 系统中的安全 一个安全或可信的操作系统保护着系统中敏感的信息,例如,可以保护用户存储的密码,信用卡等认证信息免受攻击. 安全由以下原则定义: 保密性:保护设备上的敏感信息,防止未经授权 ...
- ATC:一个能将主流开源框架模型转换为昇腾模型的神奇工具
摘要:本文介绍了昇腾CANN提供的模型转换工具ATC,介绍了其功能.架构,并以具体样例介绍了该工具的基本使用方法以及常用设置. 本文分享自华为云社区<使用ATC工具将主流开源框架模型转换为昇腾模 ...
- PostgreSQL 实现快速删除一个用户
一.具体方法 一般情况下直接执行 drop role xxx; 就可以把这个用户删除.但是很多时候会因为用户有依赖而报错. 二.权限依赖 postgres=# create role test wit ...
- 如何调用别人的接口(包含get请求post请求)
对于如何调用第三方接口还是有些模糊,所以记录一下,上代码 package com.zhang.miaodou; import java.io.BufferedReader; import java.i ...
- 【Linux SPI】RFID RC522 设备驱动
一.概述 MFRC522 支持 SPI.I2C.UART 接口,我在某宝上购买了一个 SPI 接口的 RC522 模块.此笔记主要要是通过 RC522 模块学习 linux 中的 SPI 驱动,方便今 ...