【Java基础篇】一文搞懂Java方法的调用与重载(超详细)

这篇具有很好参考价值的文章主要介绍了【Java基础篇】一文搞懂Java方法的调用与重载(超详细)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

个人主页:兜里有颗棉花糖
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创
收录于专栏【JavaSE_primary】
【Java基础篇】一文搞懂Java方法的调用与重载(超详细),JavaSE_primary,java,开发语言

一、方法的概念以及使用

1.1什么是方法

概念:在Java中,方法是一段包含了一系列语句的可重用代码块。方法用于执行特定的任务或操作,并且可以带有输入参数和返回值。

方法的意义:Java方法的意义在于提高代码的可读性、可维护性、复用性和灵活性。它们是构建模块化、组织良好且易于扩展的程序的重要组成部分。

在Java中,方法格式如下:

[访问修饰符] [返回类型] 方法名([参数列表]) {
    // 方法体
    // 包含一系列要执行的语句
    // 可能包括变量声明、控制流语句、表达式等
    [return 返回值;]
}

1.2方法定义

我们来举几个具体方法的例子来进行演示,请看:

示例一(add方法):

public static int add(int x,int y) {
	return x + y;
}

示例二(阶乘和):

//方式一:
public static int facSum1(int n) {
    int sum = 0;
    for(int i = 1;i <= n;i++){
        int ret = 1;
        for(int j = 1;j <= i;j++){
            ret *= j;
        }
        sum += ret;
    }
    return sum;
}
//方式2:
public static int facSum2(int n){
    int sum = 0;
    int ret = 1;
    for(int i = 1;i <= n;i++){
        ret *= i;
        sum += ret;
    }
    return sum;
}

在定义方法时,我们需要注意以下几个注意事项:

  • 返回值类型:如果方法有返回值,返回值类型必须要与返回的实体类型一致,如果没有返回值,必须写成void
  • 方法名字:采用小驼峰命名
  • 参数列表:如果方法没有参数,()中什么都不写,如果有参数,需指定参数类型,多个参数之间使用逗号隔开
  • 方法体:方法内部要执行的语句
  • 在java当中,方法必须写在类当中,同时方法不能嵌套定义
  • 在Java中,是不存在方法声明的

1.3方法调用的执行过程

在方法调用时,实参会被传递给对应的形参。当方法被调用时,形参会以实参的值来初始化。在方法体中,可以使用形参来处理传递进来的值。形参和实参之间的传递是通过值传递的方式进行的。

具体调用过程如下:调用方法—>传递参数—>找到方法地址—>执行被调方法的方法体—>被调方法结束返回—>回到主调方法继续往下执行

1.4形参和实参的关系

在 Java 中,对于基本数据类型的形参,形参是实参的值的拷贝。形参的改变不会影响到实参

这里举个例子进行演示:

public static void swap(int x,int y){
    int tmp = x;
    x = y;
    y = tmp;
}
public static void main(String[] args) {
    int a = 10;
    int b = 20;
    System.out.println("交换之前:a="+a+" "+"b="+b);
    swap(a,b);
    System.out.println("交换之后:a="+a+" "+"b="+b);
}

结果如下:
【Java基础篇】一文搞懂Java方法的调用与重载(超详细),JavaSE_primary,java,开发语言

这里补充一点:在Java中,局部变量时存储在栈上,而且不能获取栈上的地址(意思就是没有&a&b这样的说法)。如果要改变或者交换ab这两个变量的话,则必须将其存储到堆上。

另外:方法的返回值是可选的. 有些时候可以没有的,没有时返回值类型必须写成void。

二、方法的重载

在Java中,方法重载是指在同一个类中定义多个方法,这些方法具有相同的方法名但参数列表不同方法重载可以通过改变参数的数量、类型或顺序来实现

方法重载特点如下:

  • 1.方法名相同:被重载的方法必须具有相同的方法名
  • 2.参数列表不同:重载的方法必须具有不同的参数列表,包括参数的个数、类型或顺序的不同
  • 3.返回类型可以不同:方法重载与方法的返回类型无关

下面举个例子:

public int add(int a, int b) {
    return a + b;
}

public double add(double a, double b) {
    return a + b;
}

public int add(int a, int b, int c) {
    return a + b + c;
}

方法签名

方法签名即:经过编译器编译修改过之后方法最终的名字。具体方式:方法全路径名+参数列表+返回值类型,构成方法完整的名字。

Java编译器是通过方法签名来识别每个方法的。在编译时会根据方法的签名来唯一识别每个方法,并进行方法调用的匹配。

方法签名由以下部分组成:

1.方法名称:方法的名称用于标识方法本身。
2.参数列表:参数列表指定了方法接受的参数的数量、类型和顺序。参数列表中的每个参数都包含参数的类型和参数的顺序。

注意,方法签名与以下因素无关:

1.方法的返回类型:方法的返回类型不包含在方法签名中,所以在方法重载时,只要方法的签名不同,返回类型可以不同
2.方法的访问修饰符:方法的访问修饰符(例如 public、private 等)也不包含在方法签名中。

方法签名的意义:方法签名的唯一性确保了编译器可以根据参数的类型和数量来正确匹配方法调用。

请看:
【Java基础篇】一文搞懂Java方法的调用与重载(超详细),JavaSE_primary,java,开发语言
所以,在同一个作用域中不能定义两个相同名称的标识符,否则编译器无法识别(不知道该调用哪一个了),方法签名不一样,调用的方法当然就不一样啦。

嗯,就到这里啦,再见啦友友们!!!文章来源地址https://www.toymoban.com/news/detail-680382.html

到了这里,关于【Java基础篇】一文搞懂Java方法的调用与重载(超详细)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【超全详解一文搞懂】Scala基础

    Scala是Spark的基础,我们需要研究将大数据引入到Spark的特定架构。 Scala集合很重要 作为数据结构,解决存储问题 包含了大量算子、解决问题的库 由于Scala集合很多,我们在学习的时候,需要先学一个作为共性 然后在掌握差异化的部分(其实高级程序语言不是很依赖差异化的数

    2024年03月28日
    浏览(37)
  • 一文搞懂java集合框架

    Java集合框架主要包括两个部分:接口和实现类。其中,接口定义了一系列的方法,而实现类则是实现了这些接口中定义的方法。Java集合框架中的接口主要分为三大类:List(列表)、Set(集合)和Map(映射)。 可以动态保存任意多个对象 提供了⼀系列方便的操作对象的方法

    2023年04月24日
    浏览(41)
  • 一文搞懂Java中的容器(集合类)

    提示:本文介绍的集合类有很多,有的是日常开发常用的,有的是面试常问的,建议大家都了解一点。 Java 容器分为 Collection 和 Map 两大类,其下又有很多子类,如下所示: 这里有个面试点:Collection 和 Collections 有什么区别? Collection 是一个集合接口 Collections 是一个包装类,

    2024年02月09日
    浏览(50)
  • 【JAVA杂货铺】一文带你走进面向对象编程|构造方法调用 | 代码块分类| 期末复习系列 | (中3)

    🌈个人主页:  Aileen_0v0 🔥系列专栏: Java学习系列专栏 💫个人格言:\\\" 没有罗马,那就自己创造罗马~\\\" 上次,我们学习了关于Java面向对象编程的 构造方法 ,以及 this 在构造方法/实例化对象中的使用,若有遗忘点击👉🔗 本节我们`来学习,代码块,tostring以及继承  那还等什么

    2024年02月04日
    浏览(52)
  • 【Python基础】一文搞懂:Python 中 csv 文件的写入与读取

    在数据处理和数据分析领域,CSV (逗号分隔值) 文件是一种常见的文件格式,用于存储表格数据。Python 通过内置的 csv 模块提供了对 CSV 文件的读写支持,使得处理这种类型的文件变得简单高效。本文将详细介绍如何在 Python 中进行 CSV 文件的读取和写入操作。 CSV 文件是一种简

    2024年04月25日
    浏览(44)
  • C# 方法详解:定义、调用、参数、默认值、返回值、命名参数、方法重载全解析

    方法是一段代码,只有在调用时才会运行。 您可以将数据(称为参数)传递给方法。 方法用于执行某些操作,也被称为函数。 为什么使用方法?为了重用代码:定义一次代码,然后多次使用。 创建一个方法 方法的定义以方法的名称开头,后跟括号()。C#提供了一些预定义的

    2024年01月24日
    浏览(57)
  • 【JAVA杂货铺】一文带你走进面向对象编程|继承|重载|重写|期末复习系列 | (中4)

    🌈个人主页:  Aileen_0v0 🔥系列专栏 :Java学习系列专栏 💫个人格言:\\\"没有罗马,那就自己创造罗马~\\\"   目录 继承  私有成员变量在继承中的使用​编辑  当子类和父类变量不重名时: 当子类和父类重名时:  📝总结: 继承的含义: toString方法的作用:  重写和重载的区别 对比狗和

    2024年02月05日
    浏览(52)
  • [Data structure]队列&环形队列 | 一文带你彻底搞懂队列和环形队列(内附详细图解和代码实现)

    ⭐作者介绍:大二本科网络工程专业在读,持续学习Java,努力输出优质文章 ⭐作者主页:@逐梦苍穹 ⭐所属专栏:数据结构。数据结构专栏主要是在讲解原理的基础上拿Java实现 ⭐如果觉得文章写的不错,欢迎点个关注一键三连😉有写的不好的地方也欢迎指正,一同进步😁

    2023年04月17日
    浏览(92)
  • 一文搞懂tracert在windows和linux上的使用方法,腾讯T2大佬手把手教你

    参数说明 使用说明 实例1:traceroute 用法简单、最常用的用法 实例2:跳数设置 实例3:显示IP地址,不查主机名 实例4:探测包使用的基本UDP端口设置6888 实例5:把探测包的个数设置为值4 实例6:把对外发探测包的等待响应时间设置为3秒 tracert在windows下使用 =====================

    2024年04月28日
    浏览(38)
  • C#基础学习_方法的重载

    在类中定义方法的一般方式(不使用重载时):

    2024年02月13日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包