В статье описан способ использования внутренних классов в java для создания механизма множественного наследования реализации.

Всем разработчикам Java известно, что множественного наследования реализации в java нет. Хотя достичь подобного эффекта  можно, если использовать «силу» внутренних классов в Java.

Существует 4 типа внутренних классов: собственно, внутренние классы, вложенные классы, анонимные и локальные. В данном случае нам интересны именно внутренние классы.

Объект внутренего класса имеет неявную ссылку на объект внешнего класса, который его создал, при этом он [внутренний класс] может обращаться ко всем членам внешнего класса напрямую, как будто это его собственные члены. Таким образом, внутренний класс — это «окно во внутренний мир» внешнего класса. Каждый  внутренний класс может независимо от других внутрених классов и от самого внешнего класса наследовать реализацию.  Ниже приведен небольшой пример кода для пояснения общей схемы метода.

class A {
  // класс содержит нужную для нас реализацию
}
class B {
  // тоже содержит важную для нас реализацию
}

class C {
  /**
    * наш класс, который в идеалее должен наследовать реализацию классов A, B,
    * сделаем это через внутрение классы A1, B1
    * Пусть эти классы будут видны только внутри внешнего класса С
    * Каждый из этих классов "видит" все окружение внешнего класса С так, как будто это и его окружение
    * доступ к экземплярам классов A1, B1 предоставим через отдельные методы
    */
  public A asA() {
    return new A1();
  }

  public B asB() {
    return new B1();
  }

  private A1 extends A {}
  private B1 extends B {}
}