В Java (и вообще) есть ли способ сделать класс настолько общедоступным, чтобы его методы и т. Д. Были доступны из маленьких классов, которые даже не создают его экземпляры? Ха, я имею в виду ... Если у меня есть класс папы, у которого есть метод draw()
, и он создает экземпляр детского класса с именем Hand, а другой с именем Deck, а затем колода создает экземпляр более детского класса с именем Card, который имеет метод play()
, есть ли способ для Play()
затем вызвать Draw()
из класса папы?
Идея в том, что ... класс папы говорит: "Колода! Игра (карта)!" а затем колода говорит: "Карта! играть ()!" а затем игра поворачивается и говорит: «Эй, папочка! Нарисуй ()!»
PS Идея в том, что ... в CCG у каждой карты есть метод play (), который отличается, но все они по сути вызываются одинаково. Появляется возможность разыграть карту, и вы вызываете игру на ней. Но карта сама по себе ничего не делает: нет-нет, она вызывает ряд методов из правил игры, которые есть для видимости. Так, например, карта в MTG с надписью «возьмите одну карту. Нанесите один урон целевому игроку». вызывает draw (player, 1) и dealDamage (player, 1), которые предположительно отсутствуют в самой карте ... так как они влияют на переменные, предположительно созданные игроками, когда они начали игру и договорились об итогах и правилах жизни, таких как «рисовать» значит?
(мета-вопрос: как обычно, может кто-нибудь переименовать этот вопрос так, чтобы он отражал то, что я спрашиваю ... быть новичком очень расстраивает!)