Множественное наследование в Java — пример через интерфейсы

Когда дочерний класс наследуется сразу от нескольких суперклассов, это называют множественным наследованием. Однако в Java множественное наследование от классов не поддерживается.

Чтобы реализовать множественное наследование в Java, нужно использовать интерфейсы.

Пример: множественное наследование в Java

interface Backend {

  // abstract class
  public void connectServer();
}

class Frontend {

  public void responsive(String str) {
    System.out.println(str + " can also be used as frontend.");
  }
}

// Language extends Frontend class
// Language implements Backend interface
class Language extends Frontend implements Backend {

  String language = "Java";

  // implement method of interface
  public void connectServer() {
    System.out.println(language + " can be used as backend language.");
  }

  public static void main(String[] args) {

    // create object of Language class
    Language java = new Language();

    java.connectServer();

    // call the inherited method of Frontend class
    java.responsive(java.language);
  }

}

Вывод:

Java can be used as backend language.
Java can also be used as frontend.

В этом примере мы создали интерфейс Backend и класс Frontend. Класс Language расширяет класс Frontend и реализует интерфейс Backend.

Примечание

Здесь класс Language наследует свойства и от Backend, и от Frontend. Поэтому его можно считать примером множественного наследования.