我已经初始化并填充了一个数组,但是除了填充的方法之外,我无法在任何其他方法中访问它的值。如果我尝试在其他方法中使用它,我会得到一个 nullPointerException。例如,如果我在 init 方法中说“System.out.println(board[2][2])”,它可以工作,但在另一种方法中会抛出 nullPointerException。我已经尝试了几个小时来弄清楚,但不知道出了什么问题?任何人都可以对我的问题有所了解吗?将不胜感激。谢谢
public class Program2 extends JPanel implements ActionListener
{
private LifeCell[][] board;
private JButton next;
private JFrame frame;
public static void main(String[] args) {new Program2();}
public Program2()
{
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(this);
this.init();
frame.pack();
frame.setVisible(true);
}
public void init()
{
LifeCell[][] board = new LifeCell[10][10];
this.setPreferredSize(new Dimension(400, 500));
this.setLayout(null);
for (int r = 0; r < 10; r++)
{
for (int c = 0; c < 10; c++)
{
board[r][c] = new LifeCell(board, r, c);
this.add(board[r][c]);
board[r][c].setBounds(x,y,40,40);
this.setVisible(true);
System.out.println(board[2][2]) //works
}
}
}
public void test(){ System.out.println(board[2][2])}//doesn't work
}