我正在用 Java 制作 2D 游戏。我有一个 Sprite 类和一个 Tile 类。首先,我在 Sprite 类中声明了一些静态 Sprite 对象
public class Sprite {
public static Sprite grass = new Sprite(0, 0, Spritesheet.testTiles);
...
然后我在 Tile 类中声明静态 Tile 对象,并将静态 Sprite 对象作为参数传递,如下所示:
public class Tile {
public static Tile grass = new Tile("grass", Sprite.grass);
...
但是由于某种原因,我传递的 Sprite 为空。有什么想法吗?
每当我在其他地方使用草对象时,我都没有问题。
最佳答案
这完全符合预期,静态初始化发生在不同的事件上,而这些事件在分配之前都不会发生,因此静态属性无论如何都将为 null。
有关 Activity 的更多详细信息,请参阅这篇文章
关于java - 为什么静态对象作为参数传递给另一个类的构造函数时为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44085194/