【问题标题】:Illegal forward reference非法前向引用
【发布时间】:2010-04-03 01:45:51
【问题描述】:

当我试图在我的程序中声明一个静态数组时,我收到一个静态前向引用错误,我不确定我在这里做错了什么......

static Square fieldGrid [ ] [ ] = new Square [ ROWSIZE ] [ COLSIZE ]; 

这是我正在使用的。

【问题讨论】:

    标签: java arrays static


    【解决方案1】:

    首选语法是:

     static Square[][] fieldGrid = new Square [ ROWSIZE ] [ COLSIZE ];
    

    另外,在您进行此声明时,您是否已声明并初始化 ROWSIZECOLSIZE

    【讨论】:

      【解决方案2】:

      您的 ROWSIZE 和 COLSIZE 字段需要在用于创建 Square 数组之前进行初始化。 The Java Language Spec indicates why this restriction is in place:

      这些限制旨在在编译时捕获循环或其他格式错误的初始化。

      【讨论】:

        【解决方案3】:

        rowsize 和 colsize 是否在这一行之前声明和初始化?由于它们是静态的,我认为声明的顺序很重要。

        【讨论】:

          【解决方案4】:

          我猜 ROWSIZE 和 COLSIZE 是静态最终整数,它们是在您声明数组后声明的。更改顺序(先声明并初始化 ROWSIZE 和 COLSIZE)然后使用它们。

          【讨论】:

            猜你喜欢
            • 2011-08-06
            • 1970-01-01
            • 2011-06-05
            • 2015-11-02
            • 2021-03-11
            • 2015-09-18
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多