如何用父子项制作对象?

时间:2016-11-11 13:42:09

标签: java object inheritance polymorphism

我有一个班级Tile,以及一个扩展Terrain班级的班级Tile

Terrain课程中,我有其他课程,例如DirtRock,它们都扩展了Terrain课程。

我想在({1}}类

中制作(例如)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对象?

1 个答案:

答案 0 :(得分:0)

您可以让DirtRock类保持静态,并实例化它们:

public static Tile dirt1 = new Terrain.Dirt(1);

或者如果你是非静态的,你需要在创建Terrain

的实例之前创建Dirt的实例
public static Tile dirt1 = new Terrain().Dirt(1);

在这种情况下,您需要在TerrainTile

中定义一个无参数构造函数
相关问题