作为课程的一部分,我正在写一个基本的游戏。我遇到的问题是,我有一个名为ship的类,它存储了有关船舶的所有细节,当新船出现时我需要给它"保留"州。然后用户将能够委托一艘船,因此其状态将变为"活跃"。
我有一个名为ShipState的枚举类,代码如下。
public enum ShipState implements Serializable
{
RESERVE(" In reserves"),
ACTIVE(" Active"), RESTING(" Resting"),
SUNK (" Sunk/Lost");
private String state;
private ShipState(String st)
{
state = st;
}
public String toString()
{
return state;
}
}
我遇到的问题是我不知道如何在我的Ship类中创建枚举对象以给出船状态"保留"。
答案 0 :(得分:5)
你不必创造'枚举对象。事实上,你不能。相反,您引用在枚举中声明的(static final
)实例:
//In Ship
public void setShipState(ShipState state) {
this.state = state;
}
//In some manager class
public void putInReserve(Ship ship) {
ship.setShipState(ShipState.RESERVE);
}
答案 1 :(得分:0)
您可以将ShipState作为Ship中的成员,只需通过发出ShipState.RESERVE即可设置值。
public static void main(String args[]){
Ship s1 = new Ship(ShipState.RESERVE);
}
public static class Ship{
ShipState ss;
public Ship(ShipState ss){
this.ss = ss;
}
}