我有一个类 Tile
和一个扩展 Tile
类的 Terrain
类。
在 Terrain
类中,我还有其他类,例如 Dirt
和 Rock
,它们都扩展了 Terrain
类。
我想在 Tile
类中创建(例如)一个 Dirt
对象
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);
或者,如果您认为它们是非静态的,则需要在创建 Dirt
实例之前创建一个 Terrain
实例
public static Tile dirt1 = new Terrain().Dirt(1);
在这种情况下,您需要在 Terrain
和 Tile
中定义一个无参数构造函数
我是一名优秀的程序员,十分优秀!