Java中的静态内部类问题

Java中的静态内部类问题,java,inner-classes,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 cla

我已经定义了静态内部类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

    }

}

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

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

例如,构造函数的情况如下所示:

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

不能将方法调用直接放在类的主体中。千万不要运行有编译器错误的程序。为什么不能运行有编译器错误的程序?
public Tetromino() {
    Tetrominoes.add(tetr);
}