我有一个类Tile
和一个扩展Terrain
类的类Tile
。
在Terrain
类中,我还有其他类,例如Dirt
和Rock
,它们都扩展了Terrain
类。
我想使(例如)Dirt
类中的Tile
对象
Tile类:
public class Tile {
int id;
public static Tile dirt1 = new Dirt(1);
public Tile(int id) {
this.id = id;
}
}
地形类:
public class Terrain extends Tile {
public Terrain(int id) {
super(id);
}
public class Dirt extends Terrain{
public Dirt(int id) {
super(id);
}
}
public class Rock extends Terrain{
public Rock(int id) {
super(id);
}
}
}
我应该如何构造
Dirt
或Rock
对象? 最佳答案
您可以让进餐者将Dirt
和Rock
类设为静态,并实例化它们:
public static Tile dirt1 = new Terrain.Dirt(1);
或者,如果您是非静态对象,则需要在创建
Terrain
实例之前先创建Dirt
实例public static Tile dirt1 = new Terrain().Dirt(1);
在这种情况下,您需要在
Terrain
和Tile
中定义一个无参数的构造函数