亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java多個對象返回相同的信息

Java多個對象返回相同的信息

紫衣仙女 2023-06-21 15:35:15
我正在嘗試編寫一個系統來確定電子游戲的武器類型和武器的傷害。我正在嘗試實例化兩種具有不同統計數據的武器,但是當我使用該方法時getType();,它們返回相同的東西。我嘗試使用 ArrayList,但從諸如此類的東西中獲取了武器的類型(arraylist name here).get(0).getType();并且(arraylist name here).get(1).getType();仍然返回"AK-47"。ArrayList<Weapon> weapons = new ArrayList<Weapon>();        Weapon weapon = new Weapon("Desert Eagle", 5);        Weapon weapon2 = new Weapon("AK-47", 3);        weapons.add(weapon);        weapons.add(weapon2);        System.out.println(weapon.getType());        System.out.println(weapon2.getType());方法:public class Weapon {    static String type;    static int damage;    public Weapon(String type, int damage) {        Weapon.type = type;        Weapon.damage = damage;    }    public static String getType() {        return type;    }}我要weapon.getType();回去"Desert Eagle"再weapon2.getType();回去"AK-47"。我知道這應該是一個簡單的答案,但我可能只是為自己把這個問題復雜化了哈哈。任何幫助表示贊賞,謝謝!
查看完整描述

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


查看完整回答
反對 回復 2023-06-21
?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

刪除static關鍵字,因為它使字段在該類的每個實例之間共享

static String type;
static int damage;


查看完整回答
反對 回復 2023-06-21
?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

是因為你的類型是static的 改成private String類型;



查看完整回答
反對 回復 2023-06-21
  • 3 回答
  • 0 關注
  • 243 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號