Java方法重载详解(附带实例)
Java 中的方法重载(method overloading)是指在同一个类中可以有多个同名的方法,但这些方法的参数列表必须不同。
参数列表的不同可以体现在参数的数量、参数的类型或参数的顺序上。方法重载与方法的返回类型无关,只与方法的名称和参数列表有关。
方法重载的主要目的是允许同一个类中的多个方法使用相同的名字,但执行不同的任务,这取决于传递给它们的参数。
【实例】在项目中创建类 MethodDemo05,实现方法重载中参数个数的不同,代码如下:
【实例】在项目中创建类 MethodDemo06,实现方法重载中参数类型的不同,代码如下:
【实例】在项目中创建类 MethodDemo07,实现方法重载中参数顺序的不同,代码如下:
在 Java 程序中,使用方法重载具有以下 2 个优势:
	
	
参数列表的不同可以体现在参数的数量、参数的类型或参数的顺序上。方法重载与方法的返回类型无关,只与方法的名称和参数列表有关。
方法重载的主要目的是允许同一个类中的多个方法使用相同的名字,但执行不同的任务,这取决于传递给它们的参数。
Java方法重载的规则
- 方法名称必须相同:重载的方法必须具有相同的名称。
 - 参数列表必须不同:方法的参数列表必须不同,这可以通过参数的数量、类型或其顺序来实现。
 - 与返回类型无关:方法的返回类型不是方法重载的考虑因素,即两个方法可以有相同的名称、不同的参数列表,但返回类型不同,这仍然是合法的重载。然而,编译器在选择重载方法时不会考虑返回类型。
 - 与访问修饰符无关:方法的访问修饰符(如public、private等)与重载无关。
 - 可以抛出不同的异常:重载的方法可以声明抛出不同的异常,但不是重载的决定因素。
 
Java方法重载的实现
方法重载的实现有以下三种方式。1) 参数个数不同
定义多个具有相同名称的方法,其中每个方法的参数个数不同。【实例】在项目中创建类 MethodDemo05,实现方法重载中参数个数的不同,代码如下:
/**
* 方法重载第一个实现: 参数个数不同
*/
public class MethodDemo05 {
    public void addTest01(int num){
        System.out.println("addTest01 方法中有 1 个参数");
    }
   
    public void addTest01(int num,int num2){
        System.out.println("addTest01 方法中有 2 个参数");
    }
}
在上述代码中,我们可以看出第一个 addTest01 方法有 1 个参数,第二个 addTest01 方法有 2 个参数,实现了参数个数的不同,参数个数的不同就是方法重载。2) 参数类型不同
定义多个具有相同名称的方法,其中每个方法的参数类型不同。【实例】在项目中创建类 MethodDemo06,实现方法重载中参数类型的不同,代码如下:
/**
* 方法重载的第二种实现方式:参数类型不同
*/
public class MethodDemo06 {
    public void addTest01(int num){
        System.out.println("addTest01 方法中的参数为 int 类型");
    }
   
    public void addTest01(String num){
        System.out.println("addTest01 方法中的参数为 String 类型");
    }
}
在上述代码中,我们可以看出第一个 addTest01 方法中的参数为 int 类型,第二个 addTest01 方法中参数为 String 类型,实现了参数类型的不同,参数类型的不同就是方法重载。3) 参数顺序不同
定义多个具有相同名称的方法,其中每个方法的参数顺序不同。【实例】在项目中创建类 MethodDemo07,实现方法重载中参数顺序的不同,代码如下:
public class MethodDemo07 {
    public void addTest01(int num, String name){
        System.out.println("addTest01 的参数顺序不同, 第一个参数是 int 类型, 第二个参数是 String 类型");
    }
   
    public void addTest01(String name,int num){
        System.out.println("addTest01 的参数顺序不同, 第一个参数是 String 类型, 第二个参数是 int 类型");
    }
}
在上述代码中,我们可以看出第一个 addTest01 方法的第一个参数是 int 类型,第二个参数是 String 类型,第二个 addTest01 方法的第一个参数是 String 类型,第二个参数是 int 类型,实现了参数顺序的不同,参数顺序的不同就是方法重载。在 Java 程序中,使用方法重载具有以下 2 个优势:
- 提高代码的可读性和可维护性:通过使用相同的方法名称来执行相似的操作,但针对不同的参数情况,可以使代码更加直观和易于理解;
 - 增强代码的灵活性:可以根据不同的输入情况调用不同的重载方法,不需要为每个不同的情况定义不同的方法名称。
 
 ICP备案:
 公安联网备案: