Читая ваш вопрос, звучит так, как будто вы пришли из C ++ фона и ранее использовали множественное наследование.
Абстрактный суперкласс A имеет абстрактную (виртуальную) функцию f ().
Абстрактный подкласс a1 наследуется от A и имеет функцию f1 (), которая вызывает f (), но не реализует f ().
Подкласс a2 наследует от A и реализует f ().
Подкласс aa1 наследует от a1 и a2, в результате чего aa1 становится неабстрактным, а aa1.f1 () вызывает a2.f().
Это невозможно в Java.Нет множественного наследования.Посмотрите на композицию или какую-либо форму паттерна стратегии.
С другой стороны: множественное наследование всегда было очень хорошим паттерном и было верным способом сделать любой код совершенно невозможным для понимания.Слава богу, они покончили с этим.