为什么一个接口不能在Java中实现另一个接口?

一个接口不能在Java中实现另一个接口。

  • Java接口本质上是一种特殊的类。与类一样,该接口包含方法和变量。与类不同,接口始终是完全抽象的。

  • 接口的定义类似于类,只是用关键字interface 代替了类,在接口中声明的变量是静态 最终的, 并且在接口中定义的方法是公共抽象方法。

  • 一个接口可以扩展 任意数量的接口,但是一个接口不能实现另一个接口,因为如果实现了任何接口,则必须定义其方法,并且接口永远都不会定义任何方法。

  • 如果我们尝试用另一个接口实现一个接口,它将在Java中引发编译时错误。

示例

interface MainInterface {
   void mainMethod();
}
interface SubInterface extends MainInterface { // If we put implements keyword in place of extends,                                               // compiler throws an error.
   void subMethod();
}
class MainClass implements MainInterface {
   public void mainMethod() {
      System.out.println("Main Interface Method");
   }
   public void subMethod() {
      System.out.println("Sub Interface Method");
   }
}
public class Test {
   public static void main(String args[]) {
      MainClass main = new MainClass();
      main.mainMethod();
      main.subMethod();
   }
}

输出结果

Main Interface Method
Sub Interface Method