【JavaSE】玩转Java方法,就该这么学

希望通过博客和大家相互交流,相互学习,如有错误,请评论区指正

目录

一、什么是方法

注意

二、方法的调用

上代码

注意

三、方法的签名与重载(overload)

方法的签名

方法的重载

错误示范


表情包:方法 的图像结果

 一、什么是方法

方法就相当于C语言当中的函数,负责完成某项特定任务,相较于其他代码,具有相对的独立性

我们通过如下代码来体验一下 Java 当中的方法

public static int max(int x, int y) {
    return x > y ? x : y;
}

这就是一个简单的方法,来求两个整型中的较大值

在这段代码中,int 是这个方法的返回值类型,max 为方法名,后面括号中为参数列表

注意

  1.  方法定义时每个参数都要指明类型(方法可以没有参数)
  2. 方法的参数列表中的参数为形参,调用方法时传的参数为实参,形参相当于实参的一份临时拷贝
  3. 方法必须要定义在类中
  4. 调用方法会在栈中开辟空间

二、方法的调用

上代码

public static int max(int x, int y) {
    return x > y ? x : y;
}

public static void main(String[] args) {
    int ret2 = max(1, 2);
}

在上面的这段代码中,我们定义了一个max方法,并通过main函数来调用

在调用时,传入参数 1 和 2,相当于分别给形参 x 和 y 赋值,然后在max方法中实现求最大值的逻辑,再将最大值返回,在main函数中用ret2来接收返回值

注意

  1. 方法只有被调用的时候才会被执行,否则不执行相关逻辑
  2. 方法可以没有返回值,用void

三、方法的签名与重载(overload)

在C语言中我们通过函数名来区分各种不同的函数,但在 Java 中,通过方法的签名来区分

表情包:换汤不换药 的图像结果

 方法的签名

方法的签名包含以下两部分:

  1. 方法名
  2. 参数列表(参数的类型和数量)

由于 Java 中是通过方法名和参数列表来区分方法,所以才使得Java中可以支持方法的重载

方法的重载

如果同一个类中包含了两个或两个以上方法名相同的方法,但形参列表不同,这种情况被称为方法重载(overload)(返回值类型不做要求)

同一个方法名提供不同版本的实现

在很多情况下我们都需要一个函数可以同时兼容多种情况,这就用到了方法的重载,如下代码

public static int max(int x, int y) {
    return x > y ? x : y;
}
public static float max(float x, float y) {
    return x > y ? x : y;
}
public static void main(String[] args) {
    int ret = max(1, 2);
    float ret2 = max(1.5f, 2.3f);
}

可以看到,在上面这段代码中,我们需要通过max方法来获取不同类型数据中的最大值,在C语言中我们就需要重新换个函数名去定义函数(繁多的方法名降低代码可读性)。但在Java中就不需要那么麻烦了,不管是float类型还是int类型求最大值,核心逻辑都一样,我们通过方法重载就可以避免繁多的方法名

在调用方法时,会根据方法的参数列表来确定要调用哪一个方法

错误示范

public static int max(int x, int y) {
    return x > y ? x : y;
}
public static float max(int x, int y) {
    return x > y ? x : y;
}

要注意方法重载和返回值类型无关,所以这样会编译出错

欢迎大家关注!!!

一起学习交流 !!!

让我们将编程进行到底!!!

--------------整理不易,请三连支持------------------

猜你喜欢

转载自blog.csdn.net/weixin_46531416/article/details/122246216