一、方法重载:

基本介绍:

  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、方法的重载和可变参数的更多相关文章

  1. java基础学习总结——方法的重载(overload)

    一.方法的重载 方法名一样,但参数不一样,这就是重载(overload). 所谓的参数不一样,主要有两点:第一是参数的个数不一样,第二是参数的类型不一样.只要这两方面有其中的一方面不一样就可以构成方法 ...

  2. JAVA基础篇 之 方法的重载

    ​ 任何程序语言都具备了一项重要的特性就是对名字的运用.当创建一个对象时,也就给此对象分配到的存储空间取了一个名字.所谓方法则是给某个动作取的名字.通过使用名字你可以引用所有的对象和方法. ​ 将人类 ...

  3. Java基础学习(一)—方法

    一.方法的定义及格式 定义: 方法就是完成特定功能的代码块. 格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2){ 函数体; return 返回值; } 范例1: 写一个两个 ...

  4. 零基础学习java------day14-----泛型,foreach,可变参数,数组和集合间的转换,Set,Map,

    1.泛型(jdk1.5以后出现) https://www.cnblogs.com/lwbqqyumidi/p/3837629.html#!comments (1)为什么要用泛型? 限制集合,让它只能存 ...

  5. 转载-java基础学习汇总

    共2页: 1 2 下一页  Java制作证书的工具keytool用法总结 孤傲苍狼 2014-06-24 11:03 阅读:25751 评论:3     Java基础学习总结——Java对象的序列化和 ...

  6. 尚学堂JAVA基础学习笔记

    目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...

  7. Java基础学习笔记总结

    Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...

  8. Java 基础:hashCode方法

    Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket 一.前言 泥瓦匠最近被项目搞的天昏地暗.发现有些要给自己一些目标,关于技术的目标: 专注很重要.专注J ...

  9. Java基础五(方法)

    今日内容介绍1.方法基础知识2.方法高级内容3.方法案例 ###01方法的概述 * A: 为什么要有方法 * 提高代码的复用性 * B: 什么是方法 * 完成特定功能的代码块. ###02方法的定义格 ...

  10. java基础学习总结——java环境变量配置(转)

    只为成功找方法,不为失败找借口! 永不放弃,一切皆有可能!!! java基础学习总结——java环境变量配置 前言 学习java的第一步就要搭建java的学习环境,首先是要安装 JDK,JDK安装好之 ...

随机推荐

  1. Python+chatGPT编程5分钟快速上手,强烈推荐!!!

    最近一段时间chatGPT火爆出圈!无论是在互联网行业,还是其他各行业都赚足了话题. 俗话说:"外行看笑话,内行看门道",今天从chatGPT个人体验感受以及如何用的角度来分享一下 ...

  2. Cannot access child value on Newtonsoft.Json.Linq.JValue

    开发项目框架为.net framework,遇到此问题原因是笔者在做接口转发时接口返回类型直接定义为了object类型,这导致格式化返回结果时出现如标题异常,具体代码如下 try { var resu ...

  3. 如何使用 ArrayPool

    如果不停的 new 数组,可能会造成 GC 的压力,因此在 aspnetcore 中推荐使用 ArrayPool 来重用数组,本文将介绍如何使用 ArrayPool. 使用 ArrayPool Arr ...

  4. Zabbix监控阿里云SLB操作指引

    1. SLB介绍 阿里云负载均衡(Server Load Balancer,简称SLB)是云原生时代应用高可用的基本要素.通过将流量分发到不同的后端服务来扩展应用系统的服务吞吐能力,消除单点故障并提升 ...

  5. BUUCTF-[强网杯2019]随便注

    强网杯2019随便注 它说随便注,它可不是随便注入的哈 首先测试闭合环境,因为有回显,所以很快即知道了是一个单引号闭合 接下来常规操作,得到列数大概为2 1';select 2; 返回了过滤信息 于是 ...

  6. NOIP2022 总结

    \(\text{summary}\) 怎么都没想到这次题目那么有新意:把这样的题 \(T2\) 放 \(T2\)...... 策略出现很大问题,赛后也意识到很多选手也会出现同样的问题:死磕 \(T2\ ...

  7. 图论之最短路径 Floyd算法

    /** 图论之最短路径 Floyd算法 */ #include<stdio.h> #include<string.h> #include<algorithm> #d ...

  8. 提取show config命令结果

    import re import os # 从命令收集日志文件中,提取show config命令结果. file_list = os.listdir(os.getcwd()) dirname = os ...

  9. Infinity 和 -Infinity

    认识 Infinity 在 JavaScript 中超出 1.797693134862315E+308 的数值即为 Infinity,小于 -1.797693134862316E+308 的数值为无穷 ...

  10. Word 设置段前分页

    描述 这两个标题在第一个标题的页中,且两个标题都没有独立分页.要让每一个标题独立分页,需要对标题的格式进行修改. 段前分页指的是标题与标题之间不在同一个页中,每一个标题都在独立的页中. 设置段前分页 ...