重载方法

有时必须为不同类型的输入编写相同的功能。那时,可以使用具有不同参数集的相同方法名称。每组不同的参数称为方法签名。如示例所示,单个方法可以具有多个签名。

public class Displayer {

    public void displayName(String firstName) {
        System.out.println("Name is: " + firstName);
    }

    public void displayName(String firstName, String lastName) {
        System.out.println("Name is: " + firstName + " " + lastName);
    }

    public static void main(String[] args) {
        Displayer displayer = new Displayer();
        displayer.displayName("Ram");          //prints "Name is: Ram"
        displayer.displayName("Jon", "Skeet"); //prints "Name is: Jon Skeet"
    }
}

优点是使用两个不同数量的输入调用相同的功能。在根据我们传递的输入调用方法时(在这种情况下,一个字符串值或两个字符串值)执行相应的方法。

方法可以重载:

  1. 根据传递的参数数量

    示例:method(String s)method(String s1, String s2)

  2. 基于参数顺序

    示例:method(int i, float f)method(float f, int i))

注意: 更改返回类型不能重载方法 (int method()String method() 相同,如果尝试则会抛出 RuntimeException)。如果更改返回类型,还必须更改参数以便重载。