Вы смоделировали свою проблему с помощью решения наследования.У тебя один супер класс с четырьмя детьми.Задайте себе вопрос: возможно ли, чтобы любой подкласс в java имел более одного типа одновременно?Учитывая то, что написано в вопросе, это то, что вы пытаетесь сделать, и это невозможно.
Если вы хотите, чтобы ваш класс обладал более чем одним набором характеристик, вам придется Пересмотрите способ моделирования вашей проблемы.
Если вам нужен «Идентификатор» для хранения любого количества «типов», возможно, вам следует использовать композицию, поэтому вместо «Идентификатора» будучи «прямым» или «косвенным», оно будет содержать «прямым» и / или «косвенным».
Это толькоПредполагается, что существует несколько решений, и я не знаю всех ваших потребностей, но имейте в виду, что ваше текущее моделирование не позволит вам вести себя так, как вы описали.