我想創建一個構造函數來模擬交易卡片遊戲中的一張牌。最初,手在創建時應該是空的,這樣一旦物體被構建,我就可以在之後添加卡片。任何人都可以告訴我爲什麼下面的代碼不起作用,我該如何解決這個問題?模擬手牌的構造函數
private ArrayList<Card> cardsInHand;
public Hand() {
cardsInHand = ArrayList<Card>();
}
我想創建一個構造函數來模擬交易卡片遊戲中的一張牌。最初,手在創建時應該是空的,這樣一旦物體被構建,我就可以在之後添加卡片。任何人都可以告訴我爲什麼下面的代碼不起作用,我該如何解決這個問題?模擬手牌的構造函數
private ArrayList<Card> cardsInHand;
public Hand() {
cardsInHand = ArrayList<Card>();
}
cardsInHand = ArrayList<Card>();
應該
cardsInHand = new ArrayList<Card>();
您需要通過執行來實例化ArrayList中:
cardsInHand = new ArrayList<Card>();
你錯過了 「新」。
爲了在構造函數中初始化您的ArrayList<Card>
,您必須在調用構造函數之前使用關鍵字new
。
例如:
cardsInHand = new ArrayList<Card>();
以類似的方式,當你初始化自己Hand
對象,你會用下面的代碼調用它:
Hand hand = new Hand();
下面是一些文檔在Java constructors上。
您需要的ArrayList之前添加新:
private ArrayList<Card> cardsInHand;
public Hand() {
cardsInHand = new ArrayList<Card>();
}
你初始化一個ArrayList,所以只需添加關鍵字「新」。
private ArrayList<Card> cardsInHand;
public Hand(){
cardsInHand = new ArrayList<Card>();
}
因爲您忘記編碼new
運算符。 Java是面向對象的語言。
cardsInHand = new ArrayList<Card>();
你錯過了'new'。 –
你是什麼意思,「不起作用」 – redFIVE
你剛剛給了一個機會凌亂該網站:) –