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