在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