Java方法的重载

方法

  • 方法的定义
    • 方法是什么?
    • 方法的好处
    • 方法的定义
  • 方法的调用
    • 示例:
      • 两个数的最大值:
      • 三个数的最大值:
  • 方法的重载
    • 重载的总结:

方法的定义

方法是什么?

方法对应于C语言,就相当于C语言中的函数

方法的好处

方法的好处就是:

1、将重复的代码抽取,方便多次重复调用
2、方法专注做一件事情

方法的定义

方法中,最重要的几个元素:

1、方法的名称
2、方法的指令
3、方法的形参,(没有C语言中按址传递,只有按值传递)
4、方法的返回值类型。当没有返回值时,使用void表示
5、修饰 public和static等。

方法的标准格式:

    public static 方法返回值 方法名(形参列表){
     
        方法指令;
        return 返回值;
    }

方法的调用

方法分为定义使用两个阶段。使用分为执行、调用。
方法的定义,就相当于制定了一个计划,但是还没实行。方法的使用就相当于按照计划去执行。

示例:

两个数的最大值:


import java.util.Scanner;

/**
 * 方法的定义和使用,以及方法重载
 */

public class Methods {
     
    public static int MyMax(int x, int y) {
     
        return x > y ? x : y;
    }

    public static void main(String[] args) {
     
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        System.out.println(MyMax(a, b));
    }
}

Java方法的重载_第1张图片
Java方法的重载_第2张图片
Java方法的重载_第3张图片

三个数的最大值:

import java.util.Scanner;

/**
 * 方法的定义和使用,以及方法重载
 */

public class Methods {
     

    public static int MyMax(int x, int y) {
     
        return x > y ? x : y;
    }
    public static int ThreeMax(int x, int y, int z) {
     
        //调用两个数的最大值,三个数的最大值
        return MyMax(MyMax(x, y), z);
    }

    public static void main(String[] args) {
     

        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        System.out.println(ThreeMax(a, b, c));
    }
}

Java方法的重载_第4张图片
如上:
方法也可以支持嵌套调用。
另外,方法不会像C语言那样,必须要写在前面、或者在前面声明。在Java中,放在那里都可以;

方法的重载

有些时候,需要一个函数同时兼容多种参数的情况,我们就需要用到方法重载

重载就是:同一方法名字,但提供不同的版本的实现方式。

例如:
写一个,两个数相加的方法,定义的类型为int型,但是,当我们需要double型相加的时候,怎么办?难道需要写另外的法嘛?

我们可以利用方法的重载:

package Practice1229;

import java.util.Scanner;

public class AddDemo {
     
    public static int Add(int a, int b) {
     
        return a + b;
    }

    public static double Add(double a, double b) {
     
        return a + b;
    }

    public static void main(String[] args) {
     
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        System.out.println(Add(a, b));

        double c = sc.nextDouble();
        double d = sc.nextDouble();
        System.out.println(Add(c, d));
    }
}

Java方法的重载_第5张图片
Java方法的重载_第6张图片
如上:
我们可以发现,两个方法的方法名相同,只有参数的类型和参数列表不同,这样也是可以的,提供了不同版本的实现

但是,如果,两个方法完完全全相同,就会报错。
即:当两个方法的名字相同,参数也相同,但是返回值不同的时候,不构成重载。
Java方法的重载_第7张图片
当参数列表或者返回类型不同是,就是正确的:
Java方法的重载_第8张图片

重载的总结:

重载就是:
同一方法名字,但提供不同的版本的实现方式。

当两个方法的名字相同,参数也相同,但是返回值不同的时候,不构成重载。

重载的规则:
方法名相同,方法的参数不同(参数个数或者参数类型)。方法的返回值类型不影响重载

你可能感兴趣的:(JavaSE,java,方法的重载)