Java:如何将ArrayList作为对象的实例变量?

Java:如何将ArrayList作为对象的实例变量?,java,Java,我正在做一个类项目,用Java构建一个小小的Connect4游戏。我目前的想法是有一类列作为实例变量,包含几个整数(index、max.length、isFull?)和一个ArrayList,以接收上面的整数和每个玩家的播放(例如,1和0代表X和O)。这可能会被分成两类,但问题仍然是一样的 我当前的尝试如下所示: import java.util.ArrayList; public class Conn4Col { public int hMax; public int ind

我正在做一个类项目,用Java构建一个小小的Connect4游戏。我目前的想法是有一类列作为实例变量,包含几个整数(index、max.length、isFull?)和一个ArrayList,以接收上面的整数和每个玩家的播放(例如,1和0代表X和O)。这可能会被分成两类,但问题仍然是一样的

我当前的尝试如下所示:

import java.util.ArrayList;
public class Conn4Col {
    public int hMax; 
    public int index;
    public final int initialSize = 0;
    public final int fullCol = 0;
    public ArrayList<Integer>;
    (...)}  
import java.util.ArrayList;
公共级Conn4Col{
公共int-hMax;
公共整数指数;
公共最终int initialSize=0;
公共最终int fullCol=0;
公共阵列列表;
(...)}  
不幸的是,这无法编译。编译器说我的ArrayList声明所在的位置缺少

我们只是启动对象,除了基本类型之外,还没有真正研究其他实例变量

有人能告诉我我的错误在哪里以及如何更正它吗?

公共数组列表;
public ArrayList<Integer> list;
但是,不要将ArrayList声明为公共:

private ArrayList<Integer> list = new ArrayList<Integer> ();

public List<Integer> getList ()
{
    return Collections.unmodifiableList(list);
}
private ArrayList list=new ArrayList();
公共列表getList()
{
返回集合。不可修改列表(列表);
}

您忘记给您的会员起名字了

import java.util.ArrayList;
public class Conn4Col {
    public int hMax; 
    public int index;
    public final int initialSize = 0;
    public final int fullCol = 0;
    public ArrayList<Integer> list;
    (...)} 
import java.util.ArrayList;
公共级Conn4Col{
公共int-hMax;
公共整数指数;
公共最终int initialSize=0;
公共最终int fullCol=0;
公共阵列列表;
(...)} 
私有列表列表=新建ArrayList();

还有一个补充:最好使用java.util.List,并且在创建对象时只使用特定的ArrayList:

public List<Integer> list;
...
list = new ArrayList<Integer>();
公开列表;
...
列表=新的ArrayList();

这样,您就可以更改实际实现,而不必更改成员声明。

您忘记给变量命名了。 正确语法:

public ArrayList<Integer> listName;
public ArrayList listName;

这是一个很好的做法,但不能回答问题,是吗?他丢失了变量的名称。顺便说一下,这不是根本原因。真正的答案见格雷戈里的答案。您只是忘记了标识符,就像您对
hMax
index
等所做的那样。谢谢,这就是问题所在。
public ArrayList<Integer> listName;