从另一个 child class 访问 child 方法

Access a child method from another child class

public class Game {
   public class Truck {
      private float x,y;
      public Truck() {}
      public float getX() {return this.x;}
      public float getY() {return this.y;}
   }
   public class Fort {
      public Fort() {
        float x = truck.getX();
        float y = truck.getY();
      }
   }

   public Truck truck = new Truck();
   public Fort fort = new Fort();
}

初学者 Java 试图制作游戏的程序员。 当我尝试获取卡车的 x 和 y 值以用于 Fort 的 class 方法时出现错误。那么是否可以从另一个 child class 调用方法?

这是我遇到的错误:

Exception in thread "LWJGL Application" java.lang.NullPointerException
    at com.kroy.game.ETFortress.getTruckDistance(ETFortress.java:178)
    at com.kroy.game.ETFortress.<init>(ETFortress.java:60)
    at com.kroy.game.KroyGame.create(KroyGame.java:45)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:151)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication.run(LwjglApplication.java:128)

那是因为您在 class 中创建 classes。

  1. 将游戏、卡车和堡垒 class 分离到单独的 class 中。
  2. 在堡垒 Class 中,创建一个卡车实例: 私人卡车;
  3. 在 Fort 构造函数中,将卡车作为参数传递并将卡车的 x 和 y 设置为参数。
  4. 现在您可以从 Fort 中访问卡车的 getX() 和 getY() 方法。
  5. 在游戏中创建堡垒实例 class。现在您所有的 classes 都已连接。

如果您真的是初学者,请在尝试玩游戏之前学习基础知识。你最终会到达那里,但首先要弄清楚所有代码片段如何协同工作。然后你可以做任何事情。

祝你好运!