【发布时间】:2010-04-03 01:45:51
【问题描述】:
当我试图在我的程序中声明一个静态数组时,我收到一个静态前向引用错误,我不确定我在这里做错了什么......
static Square fieldGrid [ ] [ ] = new Square [ ROWSIZE ] [ COLSIZE ];
这是我正在使用的。
【问题讨论】:
当我试图在我的程序中声明一个静态数组时,我收到一个静态前向引用错误,我不确定我在这里做错了什么......
static Square fieldGrid [ ] [ ] = new Square [ ROWSIZE ] [ COLSIZE ];
这是我正在使用的。
【问题讨论】:
首选语法是:
static Square[][] fieldGrid = new Square [ ROWSIZE ] [ COLSIZE ];
另外,在您进行此声明时,您是否已声明并初始化 ROWSIZE 和 COLSIZE?
【讨论】:
您的 ROWSIZE 和 COLSIZE 字段需要在用于创建 Square 数组之前进行初始化。 The Java Language Spec indicates why this restriction is in place:
这些限制旨在在编译时捕获循环或其他格式错误的初始化。
【讨论】:
rowsize 和 colsize 是否在这一行之前声明和初始化?由于它们是静态的,我认为声明的顺序很重要。
【讨论】:
我猜 ROWSIZE 和 COLSIZE 是静态最终整数,它们是在您声明数组后声明的。更改顺序(先声明并初始化 ROWSIZE 和 COLSIZE)然后使用它们。
【讨论】: