Java 重载方法

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

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"
         }
}

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

方法可以重载:

方法重载(也称为静态多态)是一种可以拥有两个(或者多个)方法(函数)的方式
在一个类中具有相同的名称。

系统如何区分方法?

  • 基于传递的参数数量。
Example: method(String s) and method(String s1, String s2).
  • 基于参数的顺序。
Example: method(int i, float f) and method(float f, int i)).

注意:不能仅通过更改返回类型来重载方法(int method() 被认为与 String method() 相同,如果尝试将抛出 RuntimeException)。
如果我们更改返回类型,我们还必须更改参数以进行重载。

示例

public class Shape{
       //It could be a circle or rectangle or square
       private String type;
       //To calculate area of rectangle
       public Double area(Long length, Long breadth){
            return (Double) length * breadth;
       }
       //To calculate area of a circle
       public Double area(Long radius){
       return (Double) 3.14 * r * r;
       }
}
日期:2020-06-02 22:15:22 来源:oir作者:oir