Java中的方法和什么是方法重载

什么是方法(也叫函数)

就是用来解决一类问题的代码的有序组合,是一个功能模块。

修饰符 返回值类型 方法名([参数类型 参数名1,参数类型 参数名2]){
    执行语句
    ....
    return 返回值;
}

语法格式说明如下:

  • 修饰符:方法的修饰符有好多,有对访问权限进行限定,有静态修饰符static,最终修饰符final。
  • 方法名:自定义的方法名,尽量见名知意,命名规则和变量一样。
  • 返回值类型:也就是方法返回的数据类型。
  • 参数类型:用于限定调用方法是传入的数据类型。
  • 参数名:就是一个变量,用于接收调用方法时传入的数据。
  • return关键字:用于结束方法以及返回值指定类型的值。
  • 返回值:被return关键字返回的值,方法结束后将返回值返回给调用者。

示列:

public class Example03 {
    public static void main(String[] args) {
        //调用getArea()方法
        int area = Example03.getArea(10, 20);
        System.out.println("该矩形的面积为:" + area);
    }

    //定义一个静态计算矩形的面积方法,接收两个参数x,y
    public static int getArea(int x, int y) {
        //计算结果
        int temp = x * y;
        //返回结果
        return temp;
    }
}

运行结果:200

方法的重载

什么是方法的重载:就是在一个类中定义多个名称相同的方法,但参数的类型或个数必须不同,这就是方法的重载
例如:计算两个数之和,三个数之和

public class Example03 {
    public static void main(String[] args) {
        //调用方法add01方法
        int sum1 = Example03.add01(10, 20);
        //调用方法add02方法
        int sum2 = Example03.add02(10, 20, 30);
        System.out.println(sum1);
        System.out.println(sum2);
    }

    //求两个数的和
    public static int add01(int x, int y) {
        return x + y;
    }

    //求三个数的和
    public static int add02(int x, int y, int z) {
        return x + y + z;
    }
}

在上面的代码可以看出,针对每一种求和的情况都要定义一个方法,每个方法的名称都不一样,在调用的时候很难区分那种情况调用哪个方法。看下面的例子:

public class Example03 {
    public static void main(String[] args) {
        //调用add方法
        int sum01 = Example03.add(10, 20);
        //调用add方法
        int sum02 = Example03.add(10,20,30);
        System.out.println(sum01);
        System.out.println(sum02);
    }
    //求两个数的和
    public static int add(int x,int y){
        return x + y;
    }
    //求三个数的和
    public static int add(int x,int y,int z){
        return x + y + z;
    }
}

从上面的例子可以看出在Example03类中定义两个名字相同的方法,只是参数个数或类型不同,从而形成了方法重载。方法的重载与返回值类型无关,重载只需要瞒足两个条件

  • 方法名称相同
  • 参数个数或者参数类型不同

方法的递归

方法的递归指的是在一个方法的内部调用自身的过程,递归必须要有结束条件,不然就会陷入无限递归的状态,永远无法结束调用

public class Example04 {
    public static void main(String[] args) {
        int sum = Example04.getSum(5);
        System.out.println(sum);
    }
    public static int getSum(int x){
        //满足条件递归结束
        if (x == 1){
            return 1;
        }
        int temp = getSum(x - 1);
        return temp + x;
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值