我已经有一个名为

Image spriteImage;


稍后在代码中,我声明它是什么

Image spriteImage = new Image("content/man.png");


此代码使我的Slick2D应用程序崩溃。
之间有什么区别

Image spriteImage = new Image("content/man.png");




spriteImage = new Image("content/man.png");


(实际上有效)

最佳答案

如果用“崩溃”表示“不会编译”,则原因是,每当在范围中声明Image spriteImage(或任何其他类型/名称组合)时,您都在定义一个新变量。如果您已经有一个类似的语句,那么它将无法编译说您已两次重复声明相同的变量。

该声明:

Image spriteImage = new Image("content/man.png");

声明一个名为spriteImage的新变量,而该语句:

spriteImage = new Image("content/man.png");

将已经存在的变量spriteImage的值设置为new Image(...)

10-06 13:07