如何在众多对象中维护ArrayList的相同副本

时间:2018-03-23 20:17:39

标签: java arraylist global-variables

我正在尝试用Java创建一个简单的纸牌游戏程序。为了模拟卡片组,我打算用ArrayList来持卡,以确保不再重复卡片。我想在多个课程中使用此ArrayList,但不知道是否可以这样做。我知道我可以通过让每个类将变量发送回主类并在那里编辑ArrayList来解决这个问题,但是想知道是否可以简单地全局声明列表以便于访问。

4 个答案:

答案 0 :(得分:2)

OOP的主要思想是将对象的属性保密,因此没有人可以直接从外部访问它们。在这里你可以做什么,如上面的评论所述,你可以使用列表将卡列表作为参数传递给方法或类。由于Java是OOP语言,我不会去公开声明。

答案 1 :(得分:1)

是。您需要将其设置为public static并在可见类中。 像这样:

public class Main{

    public static ArrayList<Card> cards = new ArrayList<Card>();

}

然后,您可以通过以下方式访问它:

Main.cards.add(new Card());

答案 2 :(得分:0)

做这样的事情:

public class Card{

public static ArrayList list;

(...)

}

然后在你的主要代码中:

Card cards = new Card();

通过输入

来调用它
cards.list();

答案 3 :(得分:0)

  

...但是想知道是否可以简单地全局声明列表以便于访问。

当然!这就是static关键字的用途。如果将ArrayList设置为静态,则无论创建的对象数是多少,都只有一个ArrayList副本。您可以编写代码,如下所示:

public class Card{

  public static ArrayList<Card> list = new ArrayList<>();

  //The rest of your code: methods, interfaces, etc.

}

这样,即使您创建了多个类Card对象,也只需要担心一个ArrayList。

我希望这有帮助..快乐编码!