Java中的静态内部类问题

时间:2014-02-04 16:27:51

标签: java inner-classes

我已经定义了静态内部类Tetromino但是我在行中遇到了编译错误:

Tetrominoes.add(tetr);

我无法弄明白为什么。我错过了一些明显的东西吗?

import java.util.ArrayList;

public class Tetris{

    public static void main(String[] args) {
        // TODO Auto-generated method stub

    }

    static class Tetromino
    {

        ArrayList<Tetromino> Tetrominoes = new ArrayList<Tetromino>();

        Tetromino tetr = new Tetromino();

        Tetrominoes.add(tetr); //This line generates an error

    }

}

在Eclipse中,它用红色强调了我上面提到的那条线,但是当我编译时,它说:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 

    at Tetris.main(Tetris.java:5)

第5行是我对main方法的声明。

1 个答案:

答案 0 :(得分:2)

此语句应添加到非静态初始值设定项,方法或构造函数中:

例如,构造函数的大小写如下:

public Tetromino() {
    Tetrominoes.add(tetr);
}