Java 从另一个子类访问子方法

Java 从另一个子类访问子方法,java,inheritance,libgdx,hierarchy,Java,Inheritance,Libgdx,Hierarchy,初学者Java程序员试图制作一个游戏。 当我试图获取卡车的x和y值以在Fort的类方法中使用时出错。那么,可以从另一个子类调用方法吗 这就是我得到的错误: public class Game { public class Truck { private float x,y; public Truck() {} public float getX() {return this.x;} public float getY() {return th

初学者Java程序员试图制作一个游戏。 当我试图获取卡车的x和y值以在Fort的类方法中使用时出错。那么,可以从另一个子类调用方法吗

这就是我得到的错误:

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();
}
线程“LWJGL应用程序”java.lang.NullPointerException中的异常 在com.kroy.game.etforester.getTruckDistance(etforester.java:178) 在com.kroy.game.ETFortress(ETFortress.java:60) 在com.kroy.game.KroyGame.create上(KroyGame.java:45) 位于com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:151) 位于com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:128)
这是因为您正在类中创建类

  • 将游戏、卡车和堡垒类划分为不同的类
  • 在Fort类中,创建卡车的实例: 私家货车
  • 在Fort构造函数中,将卡车作为参数传递,并将卡车的x和y设置为参数
  • 现在,您可以从Fort中访问Truck的getX()和getY()方法
  • 在游戏中创建Fort类的实例。现在,您的所有类都已连接 如果你真的是一个初学者,在尝试解决游戏之前先学习基础知识。您最终会到达那里,但首先要弄清楚所有代码片段如何协同工作。那你什么都可以做


    祝你好运

    这是因为您正在类中创建类

  • 将游戏、卡车和堡垒类划分为不同的类
  • 在Fort类中,创建卡车的实例: 私家货车
  • 在Fort构造函数中,将卡车作为参数传递,并将卡车的x和y设置为参数
  • 现在,您可以从Fort中访问Truck的getX()和getY()方法
  • 在游戏中创建Fort类的实例。现在,您的所有类都已连接 如果你真的是一个初学者,在尝试解决游戏之前先学习基础知识。您最终会到达那里,但首先要弄清楚所有代码片段如何协同工作。那你什么都可以做


    祝你好运

    我不明白你在问什么。我的问题是,如何从Fort类调用“truck.getX()”方法?我编辑了我的问题,添加了我在尝试做的事情中遇到的错误。我不明白你在问什么。我的问题是,如何从Fort类调用“truck.getX()”方法?我已经编辑了我的问题,添加了我试图解决的问题所产生的错误,感谢您的帮助。实际上,我正在制作这个游戏,因为它是一个uni项目,没有太多时间学习java:S的所有基础知识。问题中的代码只是我问题的一个基本概念。所以这是一个有很多堡垒和卡车的游戏,玩家一次只能开一辆卡车来摧毁堡垒。难道没有一种更简单的方法来代替把所有的卡车都送到建筑工地的所有堡垒吗?谢谢again@MarcelMiro. 传递ArrayList而不是单个。那么你想要多少就有多少。每次你想找到一个,你只需要在上面迭代。这可能是我会做的。谢谢你的帮助。实际上,我正在制作这个游戏,因为它是一个uni项目,没有太多时间学习java:S的所有基础知识。问题中的代码只是我问题的一个基本概念。所以这是一个有很多堡垒和卡车的游戏,玩家一次只能开一辆卡车来摧毁堡垒。难道没有一种更简单的方法来代替把所有的卡车都送到建筑工地的所有堡垒吗?谢谢again@MarcelMiro. 传递ArrayList而不是单个。那么你想要多少就有多少。每次你想找到一个,你只需要在上面迭代。这可能就是我要做的。
    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$1.run(LwjglApplication.java:128)