文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-09-05 07:57

关注

个人主页:兜里有颗棉花糖
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创
收录于专栏【JavaSE_primary
在这里插入图片描述

目录

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;}

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

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中,局部变量时存储在栈上,而且不能获取栈上的地址(意思就是没有&a&b这样的说法)。如果要改变或者交换ab这两个变量的话,则必须将其存储到堆上。

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

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

方法重载特点如下:

下面举个例子:

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编译器是通过方法签名来识别每个方法的。在编译时会根据方法的签名来唯一识别每个方法,并进行方法调用的匹配。

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

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

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

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

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

请看:
在这里插入图片描述
所以,在同一个作用域中不能定义两个相同名称的标识符,否则编译器无法识别(不知道该调用哪一个了),方法签名不一样,调用的方法当然就不一样啦。

嗯,就到这里啦,再见啦友友们!!!

来源地址:https://blog.csdn.net/m0_74352571/article/details/132545619

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯