将枚举类型放在不同的 class
Putting enum types in different class
我正在为基于图块的游戏制作一个代表不同图块类型的枚举,并且我有一个超级class,我想要从中继承图块的实例。正如我刚刚发现的,枚举不能扩展或继承自另一个 class!
我该如何解决这个问题?我的想法是,可以让 Tile-class 成为一个普通的 class,然后将枚举放在另一个 class 中。这是否可以实现,还是我需要换一种方式解决问题?
您可以使用 class 的静态字段,例如:
class Directions {
static int LEFT = 0;
static int DOWN = 1;
static int RIGHT = 2;
static int UP = 3;
}
您可以在枚举中包含任何字段。
public enum YourEnum {
FIRST(new First()),
SECOND(new Other()),
private final Tile tile;
private YourEnum(int code, Tile t) {
this.code = code;
this.tile = t;
}
public Tile getTile() {
return tile;
}
}
我正在为基于图块的游戏制作一个代表不同图块类型的枚举,并且我有一个超级class,我想要从中继承图块的实例。正如我刚刚发现的,枚举不能扩展或继承自另一个 class!
我该如何解决这个问题?我的想法是,可以让 Tile-class 成为一个普通的 class,然后将枚举放在另一个 class 中。这是否可以实现,还是我需要换一种方式解决问题?
您可以使用 class 的静态字段,例如:
class Directions {
static int LEFT = 0;
static int DOWN = 1;
static int RIGHT = 2;
static int UP = 3;
}
您可以在枚举中包含任何字段。
public enum YourEnum {
FIRST(new First()),
SECOND(new Other()),
private final Tile tile;
private YourEnum(int code, Tile t) {
this.code = code;
this.tile = t;
}
public Tile getTile() {
return tile;
}
}