Java学习——方法

1.方法概述及使用

1.1 什么是方法

方法是一个代码模块,类似C语言的函数。方法的意义在于:

  • 是能够模块化的组织代码;
  • 一份代码可以在多个位置使用;
  • 可以直接调用,减少耦合程度;
  • 让代码更好理解更简单。

1.2 方法的定义

方法语法格式

//方法定义
修饰符 返回值类型 方法名称(形参)
{
方法体代码
return 返回值;
}

案例一:实现一个两个整数相加的方法

public static add(int x,int y){<br />return x+y;<br />}

:::
注意事项:

  • 修饰符:现阶段直接使用public static固定搭配;
  • 返回值类型:如果有返回值,返回值类型要和返回的实体类型一致;如果没有返回值,用void;
  • 方法名称:采用小驼峰命名;
  • 参数列表:如果没有就只写个(),如果有参数,指定参数类型,多个参数用逗号隔开;
  • 方法体:方法内部需要执行的语句

1.3形参与实参的关系

方法的形参相当于数学函数中的自变量,比如:1 + 2 + 3 + … + n的公式为sum(n) =(1+n)*n/2
Java中方法的形参就相当于sum函数中的自变量n,用来接收sum函数在调用时传递的值的。形参的名字可以随意 取,对方法都没有任何影响,形参只是方法在定义时需要借助的一个变量,用来保存方法在调用时传递过来的值。

注意项:

  • 形参是实参的拷贝,形参和实参本质是两个实体;
  • 形参和实参在两个不同的栈中,对形参的修改不会改变实参;
  • 方法在传参的过程中就是把main函数中的实参拷贝一份到所调用的方法的形参中。

案例:用方法计算1!+2!+3!+4!+5!

public class TestMethod {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1; i <= 5; i++) {
        sum += fac(i);
        }
        System.out.println("sum = " + sum);
    }
        
    public static int fac(int n) {
        int result = 1;
        for (int i = 1; i <= n; i++) {
        result *= i;
        }
        return result;
    }
}

2.方法重载与方法签名

2.1什么是方法重载

在自然语言中,一个词语如果有多重含义,那么就说该词语被重载了,具体代表什么含义需要结合具体的场景。
在Java中方法也是可以重载的。 在Java中,如果多个方法的名字相同,参数列表不同,则称该几种方法被重载了。
** 在Java中,如果多个方法的名字相同,参数列表不同,则称该几种方法被重载了。**

//在不用方法重构情况下,类似的方法要取好多名字
    public static int addInt(int x,int y){
        return x+y;
    }
    public static double addDouble(double x,double y){
        return x+y;
    }

2.2方法重载的使用和意义

使用:
1. 方法名必须相同
2. 参数列表必须不同(参数的个数不同、参数的类型不同、类型的次序必须不同)
3. 与返回值类型是否相同无关
例子:

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

意义:
需要提供许多不同的方法名,而取名字是让人头疼的事情。使用方法重载可以不用取太多名字,方便代码的使用和理解

2.3方法签名

:::tips
方法重载之所以能实现就是因为有方法签名
在同一个作用域中不能定义两个相同名称的标识符。比如:方法中不能定义两个名字一样的变量,那为什么类中就 可以定义方法名相同的方法呢?
方法签名即:经过编译器编译修改过之后方法最终的名字。具体方式:方法全路径名+参数列表+返回值类型,构成方法完整的名字。
:::
方法签名的具体操作:

    1. 先对工程进行编译生成.class字节码文件
    1. 在控制台中进入到要查看的.class所在的目录
    1. 输入:javap -v 字节码文件名字即可
  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值