java-访问对象的超类和接口

java-访问对象的超类和接口,java,inheritance,interface,polymorphism,superclass,Java,Inheritance,Interface,Polymorphism,Superclass,我正在写一个简单的游戏,你可以选择成为不同种类的动物。动物是实体的子类,它是GameObject的子类。我还为动物创建了一个界面IPlayableAnimal,你可以像它一样玩。因此,创建播放器对象时,需要向其传递一个IPlayableAnimal。现在这很好,但我也想访问特定于实体的方法,但是由于一个PlayableAnimal通过了,我只能使用由它的子类覆盖的IPlayableAnimal形式的方法 是否有访问实体方法的方法?或者,我必须使用IPlayableAnimal接口的抽象方法生成E

我正在写一个简单的游戏,你可以选择成为不同种类的动物。动物是实体的子类,它是GameObject的子类。我还为动物创建了一个界面IPlayableAnimal,你可以像它一样玩。因此,创建播放器对象时,需要向其传递一个IPlayableAnimal。现在这很好,但我也想访问特定于实体的方法,但是由于一个PlayableAnimal通过了,我只能使用由它的子类覆盖的IPlayableAnimal形式的方法

是否有访问实体方法的方法?或者,我必须使用IPlayableAnimal接口的抽象方法生成Entity的子类,或者将IPlayableAnimal和Entity对象传递给Player对象


创建一个IEntity接口,并让IPlayableAnimal对其进行扩展。让实体实现它。嗯,是的,我还没想到。谢谢
public class Player extends Entity {

  private IPlayableAnimal character;

  public Player(int x, int y, IPlayableAnimal character) {
      this(x, y, character, true);
  }

  public Player(int x, int y, IPlayableAnimal character, boolean visible) {
      super(x, y, visible, true); // the last true is for the hasAI boolean
  }

  protected void defineTasks() {
      tasks.add(new PlayerControlTask(this, 5));
  }

}