我正在寻找一种方法来创建一个"标题"或类似的东西来指定一些变量,如:
enum Misc
{
double EFFECT_DAMAGE = Math.pow(2,0);
double EFFECT_ABSORB = Math.pow(2,1);
double EFFECT_HEAL = Math.pow(2,2);
int SPELL_FIREBALL = 51673;
}
在我希望能写的每个.java文件中:
double effect = 1;
if (effect == EFFECT)
{
...some code...
}
有一个很好的方法吗? 我现在正在创建一个迷你游戏,并且希望一旦它变得更大,就能让所有文件变得干净整洁,以便将来管理我的项目。
提前谢谢。答案 0 :(得分:2)
public enum Misc
{
EFFECT_DAMAGE(0), // 2^0
EFFECT_ABSORB(1), // 2^1
FIREBALL(245151);
private double value;
private Misc(double d){
value = d;
}
public String toString(){
return String.valueOf(value);
}
}
像这样访问:
System.out.println("Fireball damage:" + Misc.FIREBALL);
答案 1 :(得分:1)
您不能以这种方式将值赋给java中的枚举。
相反,您应该使用带有公共静态最终变量的公共类来使它们成为常量。
public class Misc {
public static final double EFFECT_DAMAGE = Math.pow(2,0);
public static final double EFFECT_ABSORB = Math.pow(2,1);
public static final double EFFECT_HEAL = Math.pow(2,2);
public static final int SPELL_FIREBALL = 51673;
}
所以你可以在你的代码中使用
if (effect == Misc.EFFECT_DAMAGE )
{
...some code...
}
如果您只想使用没有类名的字段,则应将该类导入为static:
import static test.Misc.*;
....
if (effect == EFFECT_DAMAGE ) {