当我尝试在我的程序中声明一个静态数组时,我收到一个静态前向引用错误,我不知道我在这里做错了什么......
static Square fieldGrid [ ] [ ] = new Square [ ROWSIZE ] [ COLSIZE ];
这就是我正在使用的。
答案 0 :(得分:3)
首选语法为:
static Square[][] fieldGrid = new Square [ ROWSIZE ] [ COLSIZE ];
此外,您是否在申报时声明并初始化了ROWSIZE
和COLSIZE
?
答案 1 :(得分:2)
在用于创建Square数组之前,需要初始化ROWSIZE和COLSIZE字段。 The Java Language Spec indicates why this restriction is in place:
这些限制旨在在编译时捕获循环或其他格式错误的初始化。
答案 2 :(得分:1)
在此行之前声明并初始化了rowsize和colsize吗?由于它们是静态的,我认为声明的顺序很重要。
答案 3 :(得分:1)
我猜ROWSIZE和COLSIZE是静态的最终整数,它们在声明数组后被声明。更改顺序(首先声明并初始化ROWSIZE和COLSIZE),然后使用它们。