3 回答

TA貢獻1825條經驗 獲得超6個贊
static從type和damage中刪除Weapon。static意味著全局類的一個值,而不是每個類實例一個值(這是你想要的)。this.type = type;另外,this.damage = damage;在構造函數中。
public class Weapon {
private String type;
private int damage;
public Weapon(String type, int damage) {
this.type = type;
this.damage = damage;
}
public String getType() {
return type;
}
}
此外,您目前沒有使用您的任何值List(您保留了您創建的引用,并通過這些引用進行調用)。并且更喜歡編程而List不是ArrayList類型接口(你可以使用菱形運算符<>)。喜歡,
List<Weapon> weapons = new ArrayList<>();
weapons.add(new Weapon("Desert Eagle", 5));
weapons.add(new Weapon("AK-47", 3));
for (Weapon w : weapons) {
System.out.println(w.getType());
}
產出
Desert Eagle
AK-47
添加回答
舉報