Я не думаю, что это возможно с классами. Для разделения функциональности вы должны использовать interfaces
вместо расширения классов.
Вполне вероятно, что ваш класс А нарушает Принцип единой ответственности , если вам нужно разделить методы таким образом.
Затем посмотрите на использование композиции вместо наследования для составления сложных классов из более простых. Также взгляните на шаблон стратегии .
Разделите вашу функциональность на интерфейсы, подобные этой -
public interface IFlyable
{
void FlapWings();
void Fly();
}
public interface IHuntingAnimal
{
void Hunt();
}
Затем реализуйте свои классы следующим образом -
public class Duck : IFlyable { ...
public class Eagle : IFlyable, IHuntingAnimal { ...
public class Tiger : IHuntingAnimal { ..
Примечание: пример на C #. Вам нужно выработать Java-эквивалент.