最近我问了一个问题,为什么我生成的项目中的所有变量都被设置为相同的损坏值(Java switch语句输出相同的数字)并且代码不应该受到责备,但经过一些深度调试后我发现当一个项目产生它随机化损害然后由于某种原因设置对每个先前创建的相同类型的项目的损害.
我有'匕首'和'剑'课程,扩展了我的'项目'课程.这就是我设置伤害的方法:
case 3: {Sword sword = new Sword(); World[X][Y].treasureName = "sword"; sword.setDamage(4); returnItem = sword; break;}
Run Code Online (Sandbox Code Playgroud)
这是我的项目类:
public abstract class Item {
//How much damage is added to the players attack.
static int damage = 0;
static int defence = 0;
public int getDefence() {
return defence;
}
public void setDefence(int defenceValue) {
defence = defenceValue;
}
public int getDamage() {
return damage;
}
public void setDamage(int damageValue) {
damage = damageValue;
}
}
Run Code Online (Sandbox Code Playgroud)
我的剑类:
public …Run Code Online (Sandbox Code Playgroud)