我們可以在Java中從另一個介面實現一個介面嗎?
不,我們無法從另一個介面實現一個介面,你可以使用 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 關鍵字,並將丟擲編譯時錯誤,“期望‘{’” 。
示例
在以下 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 編譯相同的程式,它會給你一個編譯時錯誤,提示“應使用 extends 關鍵字,而不是 implements 關鍵字”。
廣告