3 回答

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊
static從type和damage中刪除Weapon。static意味著全局類(lèi)的一個(gè)值,而不是每個(gè)類(lèi)實(shí)例一個(gè)值(這是你想要的)。this.type = type;另外,this.damage = damage;在構(gòu)造函數(shù)中。
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;
}
}
此外,您目前沒(méi)有使用您的任何值List(您保留了您創(chuàng)建的引用,并通過(guò)這些引用進(jìn)行調(diào)用)。并且更喜歡編程而List不是ArrayList類(lèi)型接口(你可以使用菱形運(yùn)算符<>)。喜歡,
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());
}
產(chǎn)出
Desert Eagle
AK-47

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個(gè)贊
刪除static
關(guān)鍵字,因?yàn)樗棺侄卧谠擃?lèi)的每個(gè)實(shí)例之間共享
static String type; static int damage;
添加回答
舉報(bào)