【发布时间】:2016-12-13 13:14:12
【问题描述】:
我在从数组中的对象访问方法时遇到问题。我正在尝试创建一个纸牌游戏。在创建卡片对象的那一刻,我将它们推送到 Arraylist 中。现在,当我在这个数组中获得例如 5 个卡片对象时,我想访问索引为 [0] 的卡片的方法,但我不知道如何。这是代码:
public static void main(String[] args) {
Main main = new Main();
//creates new card
Card FireElemental = new Card("Fire Elemental");
// adds card to array
main.player2FieldCards.add(FireElemental);
// Now to access it's methods, the example below is not working but
// to give an example of what I want.
main.player2FieldCards.get(0).SomeMethod();
}
【问题讨论】:
-
应该可以。可以分享
Card和Main的代码吗? -
很可能,您将
player2FieldCards声明为ArrayList,但没有泛型类型。ArrayList player2FieldCards = new ArrayList()之类的,如果是真的,你应该改成:List<Card> player2FieldCards = new ArrayList<>() -
你应该转换它 ((yourClass)main.player2FieldCards.get(0)).SomeMethod();
-
您有一个名为
main()的方法、一个名为Main的类和一个名为main的类的实例。这令人困惑;不要这样做——它会在以后产生问题。将类重命名为CardDeck,将实例重命名为playerHand。只需确保不同的事物具有不同的名称,以便它们易于识别。
标签: java arrays object methods