所以我遇到以下代碼有問題。Java中的靜態變量未初始化
public class bw {
public static int checked[][];
public static BufferedImage input;
public static void floodfill(int j, int i, int color, int spotColor, int th) throws Exception {
input.setRGB(j, i, color);
}
public static void main(String args[]) throws Exception {
BufferedImage input = ImageIO.read(new File("C:\\Users\\Aditya\\Desktop\\Lena.png"));
checked = new int[input.getHeight()][input.getWidth()];
floodfill(250, 310, 0, input.getRGB(250,310), 35);
}
}
已經從代碼中取出了大部分不相關的部分。靜態的checked變量工作正常。但是我在主函數中初始化的輸入變量仍然爲空。它給了我氾濫填充的空指針異常。
研究變量陰影。你的'main'方法的局部變量與你的'static'變量不同。 –