Java中的接口可以扩展多个接口吗?
Java中的接口类似于类,但是它仅包含final和static的抽象方法和字段。就像类一样,您可以使用extend关键字将一个接口从另一个接口扩展出来,如下所示:
interface ArithmeticCalculations { public abstract int addition(int a, int b); public abstract int subtraction(int a, int b); } interface MathCalculations extends ArithmeticCalculations { public abstract double squareRoot(int a); public abstract double powerOf(int a, int b); }
以相同的方式,您可以使用extends关键字从一个接口扩展多个接口,方法是使用逗号(,)分隔接口,如下所示:
interface MyInterface extends ArithmeticCalculations, MathCalculations {
示例
以下是Java程序演示如何从单个接口扩展多个接口。
import java.util.Scanner; interface ArithmeticCalculations { public abstract int addition(int a, int b); public abstract int subtraction(int a, int b); } interface MathCalculations { public abstract double squareRoot(int a); public abstract double powerOf(int a, int b); } interface MyInterface extends MathCalculations, ArithmeticCalculations { public void displayResults(); } public class ExtendingInterfaceExample implements MyInterface { public int addition(int a, int b) { return a+b; } public int subtraction(int a, int b) { return a-b; } public double squareRoot(int a) { return Math.sqrt(a); } public double powerOf(int a, int b) { return Math.pow(a, b); } public void displayResults() { Scanner sc = new Scanner(System.in); System.out.println("Enter the value of a: "); int a = sc.nextInt(); System.out.println("Enter the value of b: "); int b = sc.nextInt(); ExtendingInterfaceExample obj = new ExtendingInterfaceExample(); System.out.println("Result of addition: "+obj.addition(a, b)); System.out.println("Result of subtraction: "+obj.subtraction(a, b)); System.out.println("Square root of "+a+" is: "+obj.squareRoot(a)); System.out.println(a+"^"+b+" value is: "+obj.powerOf(a, b)); } public static void main(String args[]) { new ExtendingInterfaceExample().displayResults(); } }
输出结果
Enter the value of a: 4 Enter the value of b: 3 Result of addition: 7 Result of subtraction: 1 Square root of 4 is: 2.0 4^3 value is: 64.0