为了做出springboot前后端分离的科研项目管理系统努力学习9

方法的重载

package com.study.method;

public class Demo02 {
    public static void main(String[] args) {
        //方法有返回值时,通常被作为一个值
        //方法返回值是void时,方法调用一定是一条语句

        int max=max(2,3);
        System.out.println("较大的数是:"+max);
    }

    //比大小
    public static int max(int a, int b) {
        //一般将return放在最后写,所以可以定义一个变量存放要返回的值
        int result = 0;
        if (a == b) {
            System.out.println("两个数值相等!");
            return 0;   //return不仅可以返回返回值,而且遇到return还会终止方法
        }
        if (a > b) {
            result = a;
        } else if (a < b) {
            result = b;
        }

        return result;
    }
}

上面使用的max方法仅仅适用于int型数据。但如果你想得到两个浮点类型数据的最大值呢?

解决方法是创建另一个有相同名字但参数不同的方法,如下面代码所示:

public static double max(double num1, double num2) {
  if (num1 > num2)
    return num1;
  else
    return num2;
}

如果你调用max方法时传递的是int型参数,则 int型参数的max方法就会被调用;

如果传递的是double型参数,则double类型的max方法体会被调用,这叫做方法重载

就是说一个类两个方法拥有相同的名字,但是有不同的参数列表

Java编译器根据方法签名判断哪个方法应该被调用。

方法重载可以让程序更清晰易读。执行密切相关任务的方法应该使用相同的名字。

重载的方法必须拥有不同的参数列表。你不能仅仅依据修饰符或者返回类型的不同来重载方法。

 

总结方法的重载的规则:

  • 方法名必须相同
  • 参数列表必须不一样
  • 方法的返回类型可以相同也可以不同
  • 仅仅返回类型不同不足以成为方法的重载

实现理论:

  • 方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。


命令行传参

有时候你希望运行一个程序时候再传递给它消息。这要靠传递命令行参数给main()函数实现。

命令行参数是在执行程序时候紧跟在程序名字后面的信息。

 

 

 

 


可变参数

可变参数本质是数组。在形参里面定义只能放在最后面。

package com.study.method;

public class Demo04 {
    public static void main(String[] args) {
        Demo04 demo04 = new Demo04();
        demo04.test(111,1,2,3);
    }
    public void test(int x,int... i){
        System.out.println(x);
        System.out.println(i[0]);
        System.out.println(i[1]);
        System.out.println(i[2]);
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Liangjuhan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值