2013-11-22 209 views
-1

我想創建一個構造函數來模擬交易卡片遊戲中的一張牌。最初,手在創建時應該是空的,這樣一旦物體被構建,我就可以在之後添加卡片。任何人都可以告訴我爲什麼下面的代碼不起作用,我該如何解決這個問題?模擬手牌的構造函數

private ArrayList<Card> cardsInHand; 

public Hand() { 
    cardsInHand = ArrayList<Card>(); 
} 
+9

你錯過了'new'。 –

+0

你是什麼意思,「不起作用」 – redFIVE

+0

你剛剛給了一個機會凌亂該網站:) –

回答

0
cardsInHand = ArrayList<Card>(); 

應該

cardsInHand = new ArrayList<Card>(); 
0

您需要通過執行來實例化ArrayList中:

cardsInHand = new ArrayList<Card>(); 

你錯過了 「新」。

2

爲了在構造函數中初始化您的ArrayList<Card>,您必須在調用構造函數之前使用關鍵字new

例如:

cardsInHand = new ArrayList<Card>(); 

以類似的方式,當你初始化自己Hand對象,你會用下面的代碼調用它:

Hand hand = new Hand(); 

下面是一些文檔在Java constructors上。

0

您需要的ArrayList之前添加新:

private ArrayList<Card> cardsInHand; 

public Hand() { 
    cardsInHand = new ArrayList<Card>(); 
} 
0

你初始化一個ArrayList,所以只需添加關鍵字「新」。

private ArrayList<Card> cardsInHand; 

public Hand(){ 
    cardsInHand = new ArrayList<Card>(); 
} 
0

因爲您忘記編碼new運算符。 Java是面向對象的語言。

cardsInHand = new ArrayList<Card>();