在Java中我们可以重载接口的方法吗?

多态是对象根据上下文执行不同动作(或表现出不同行为)的能力。

重载是实现多态的机制之一,其中一个类包含两个具有相同名称和不同参数的方法。

无论何时调用此方法,方法主体都将基于参数与方法调用绑定。

示例

在下面的Java程序中,Calculator类有两个带有名称加法的方法,唯一的区别是一个包含3个参数,另一个包含2个参数。

在这里,我们可以通过传递两个整数或三个整数来调用加法。根据整数值的数量,我们将通过相应的方法来执行。

public class Calculator {
   public int addition(int a , int b){
      int result = a+b;
      return result;
   }
   public int addition(int a , int b, int c){
      int result = a+b+c;
      return result;
   }
   public static void main(String args[]){
      Calculator cal = new Calculator();
      System.out.println(cal.addition(12, 13, 15));
   }
}

输出结果

40

接口的重载方法

是的,您可以在接口中使用重载方法(名称不同的方法)。您可以实现此接口并通过其方法实现方法重载。

示例

import java.util.Scanner;
interface MyInterface{
   public void display();
   public void display(String name, int age);
}
public class OverloadingInterfaces implements MyInterface{
   String name;
   int age;
   public void display() {
      System.out.println("这是display方法的实现");
   }
   public void display(String name, int age) {
      System.out.println("Name: "+name);
      System.out.println("Age: "+age);
   }
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter your name: ");
      String name = sc.next();
      System.out.println("Enter your age: ");
      int age = sc.nextInt();
      OverloadingInterfaces obj = new OverloadingInterfaces();
      obj.display();
      obj.display(name, age);
   }
}

输出结果

Enter your name:
Krishna
Enter your age:
25
这是display方法的实现
Name: Krishna
Age: 25