Марвин прав, я просто хотел добавить, что когда вы используете наследование, очень приятно помнить, что это тест. Вы утверждаете, что Maze и BossMap - оба GameWorlds. Я верю, что это правда (хотя называть игру «Мир» может ввести в заблуждение, я бы сказал, что это игра «Карта»)
Множественное наследование было бы, если бы вы сказали, что BossMap - это Gameworld AND BossMap - это "AnimationTimer" (напрямую). Это вполне возможно, но приводит к проблемам, и Java запрещает отношения между двумя родителями из-за проблем, которые часто возникают.
Ваше решение в порядке, но может привести к излишне тесным отношениям между объектами. .
Другое решение - Java интерфейсы. Интерфейсы - это отношения "есть". BossMap мог бы иметь - игровой мир и иметь - TimedEvent. Gameworld также может иметь TimedEvent. Интерфейсы всегда будут работать и, как правило, их будет легче понять.
Поскольку отношение Has-a является «более слабым» и, следовательно, часто проще для понимания / работы с ним, мы обычно предлагаем, чтобы вы предпочли реализации (интерфейс), а не расширения ( наследовать) но это баланс - со временем вы сами определите свои предпочтения.