Как вернуть объект, содержащий класс java

#java #class #object

#java #класс #объект

Вопрос:

У меня есть класс World, который содержит объект класса с именем Player, и я хотел бы иметь возможность внутри Player создавать объект класса, содержащий объект. Имеет ли смысл то, что я говорю? Возможно ли то, что я говорю?

редактировать: Также Player является абстрактным, и я получаю ошибку в дочернем классе, когда я помещаю часть вашего кода в

Комментарии:

1. Сделайте вопрос более понятным, пожалуйста.

2. Классы не «содержат объекты класса». ‘Чтобы внутри Player можно было создать объект класса, содержащего объект’, имеет небольшой смысл, но недостаточно для ответа. Попробуйте еще раз. Или же ответ просто new World() .

Ответ №1:

Вы могли бы создать ссылку с именем parent и назначить ее при создании. Затем вы могли бы использовать отражение, чтобы точно выяснить, что это за parent класс.

 public class Player{
    private Object parent;
    public Player(Object parent){
        this.parent = parent;
    }
    public Class getParentClass(){
        return parent.getClass();
    }
}
  

Комментарии:

1. Зачем вам использовать отражение в этом случае? Похоже, это неподходящий инструмент для работы. Также в примере кода вообще не отображается отражение.

2. Возможно, я неправильно понял вопрос, но мне показалось, что он хотел иметь ссылку не только на родительский объект, но и на его класс.

Ответ №2:

Вы можете просто передать объект world конструктору player

 public class World{
  public World(){
    new Player(this);
  }
}
public class Player{
  private World world;
  public Player(World world){
    this.world = world;
  }
}
  

теперь вы можете использовать мир внутри проигрывателя с world