我们能在 Java 中从一个接口实现另一个接口吗?
java 8object oriented programmingprogramming
不,我们不能从一个接口实现另一个接口,你可以使用 extends 关键字将其扩展为 −
interface ArithmeticCalculations{ public abstract int addition(int a, int b); public abstract int subtraction(int a, int b); } interface MathCalculations implements ArithmeticCalculations{ public abstract double squareRoot(int a); public abstract double powerOf(int a, int b); }
不过,如果你尝试使用 implements 关键字从一个接口实现另一个接口。编译器无法识别接口名称后的 implements 关键字,并会抛出编译时错误,提示"'{' expected”。
示例
在下面的 Java 程序中,我们有两个接口,即 ArithmeticCalculations 和 MathCalculations,我们正尝试从另一个接口实现一个接口。
interface ArithmeticCalculations{ public abstract int addition(int a, int b); public abstract int subtraction(int a, int b); } interface MathCalculations implements ArithmeticCalculations{ public abstract double squareRoot(int a); public abstract double powerOf(int a, int b); }
编译时错误
在编译时,上述程序生成以下编译时错误 −
输出
MathCalculations.java:8: error: '{' expected interface MathCalculations implements ArithmeticCalculations{ ^ 1 error
如果您使用 eclipse 编译相同的程序,它会给您一个编译时错误,提示"需要扩展关键字而不是实现"。