Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 声明变量类型之间的差异_Java_Opengl_Lwjgl_Slick2d - Fatal编程技术网

Java 声明变量类型之间的差异

Java 声明变量类型之间的差异,java,opengl,lwjgl,slick2d,Java,Opengl,Lwjgl,Slick2d,我已经有一个变量叫做 Image spriteImage; 稍后在代码中我会说明它是什么 Image spriteImage = new Image("content/man.png"); 此代码使我的Slick2D应用程序崩溃。 两者的区别是什么 Image spriteImage = new Image("content/man.png"); 及 (这实际上是有效的)如果“崩溃”是指“不会编译”,那么原因是,无论何时在范围中声明图像spriteImage(或任何其他类型/名称组合),您

我已经有一个变量叫做

Image spriteImage;
稍后在代码中我会说明它是什么

Image spriteImage = new Image("content/man.png");
此代码使我的Slick2D应用程序崩溃。 两者的区别是什么

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

(这实际上是有效的)

如果“崩溃”是指“不会编译”,那么原因是,无论何时在范围中声明
图像spriteImage
(或任何其他类型/名称组合),您都在定义一个新变量。如果您已经有一个类似的语句,那么它将无法编译,因为您已经声明了相同的变量两次

声明:

Image spriteImage=新图像(“content/man.png”)

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

spriteImage=新图像(“content/man.png”)

正在将已存在的变量
spriteImage
的值设置为
新图像(…)

如果“崩溃”的意思是“不会编译”,那么原因是,无论何时在范围中声明
图像spriteImage
(或任何其他类型/名称组合),您都在定义一个新变量。如果您已经有一个类似的语句,那么它将无法编译,因为您已经声明了相同的变量两次

声明:

Image spriteImage=新图像(“content/man.png”)

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

spriteImage=新图像(“content/man.png”)

正在将已存在的变量
spriteImage
的值设置为
新图像(…)

如果“崩溃”的意思是“不会编译”,那么原因是,无论何时在范围中声明
图像spriteImage
(或任何其他类型/名称组合),您都在定义一个新变量。如果您已经有一个类似的语句,那么它将无法编译,因为您已经声明了相同的变量两次

声明:

Image spriteImage=新图像(“content/man.png”)

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

spriteImage=新图像(“content/man.png”)

正在将已存在的变量
spriteImage
的值设置为
新图像(…)

如果“崩溃”的意思是“不会编译”,那么原因是,无论何时在范围中声明
图像spriteImage
(或任何其他类型/名称组合),您都在定义一个新变量。如果您已经有一个类似的语句,那么它将无法编译,因为您已经声明了相同的变量两次

声明:

Image spriteImage=新图像(“content/man.png”)

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

spriteImage=新图像(“content/man.png”)


正在将已存在的变量
spriteImage的值设置为
新图像(…)

看起来您可能正在对变量进行阴影处理

如果你有一种方法

Image spriteImage
然后在你做的方法里面

Image spriteImage = (...);
您正在分配一个局部变量
spriteImage

如果你这样做

spriteImage = (...);
然后,您将分配先前声明的
spriteImage
(可能是一个实例变量)


当您只分配本地一个时,您将实例一保留为
null
,我猜您试图使用它,并且有一个null指针导致openGL崩溃。

看起来您可能正在隐藏一个变量

如果你有一种方法

Image spriteImage
然后在你做的方法里面

Image spriteImage = (...);
您正在分配一个局部变量
spriteImage

如果你这样做

spriteImage = (...);
然后,您将分配先前声明的
spriteImage
(可能是一个实例变量)


当您只分配本地一个时,您将实例一保留为
null
,我猜您试图使用它,并且有一个null指针导致openGL崩溃。

看起来您可能正在隐藏一个变量

如果你有一种方法

Image spriteImage
然后在你做的方法里面

Image spriteImage = (...);
您正在分配一个局部变量
spriteImage

如果你这样做

spriteImage = (...);
然后,您将分配先前声明的
spriteImage
(可能是一个实例变量)


当您只分配本地一个时,您将实例一保留为
null
,我猜您试图使用它,并且有一个null指针导致openGL崩溃。

看起来您可能正在隐藏一个变量

如果你有一种方法

Image spriteImage
然后在你做的方法里面

Image spriteImage = (...);
您正在分配一个局部变量
spriteImage

如果你这样做

spriteImage = (...);
然后,您将分配先前声明的
spriteImage
(可能是一个实例变量)


当您只分配本地一个时,您将实例一保留为
null
,我猜您尝试使用它时,有一个null指针导致openGL崩溃。

您已经声明了图像spriteImage,但尚未初始化它

    spriteImage = new Image("content/man.png");
然而,上面的代码正在初始化它

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

正在声明一个局部图像变量,该变量正在隐藏另一个变量。

您已经声明了图像精灵图像,但尚未初始化它

    spriteImage = new Image("content/man.png");
然而,上面的代码正在初始化它

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

正在声明一个局部图像变量,该变量正在隐藏另一个变量。

您已经声明了图像精灵图像,但尚未初始化它

    spriteImage = new Image("content/man.png");
然而,上面的代码正在初始化它

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

正在声明一个局部图像变量,该变量正在隐藏另一个变量。

您已经声明了图像精灵图像,但尚未初始化它

    spriteImage = new Image("content/man.png");
然而,上面的代码正在初始化它

    Image spriteImage = new Image("content/man.png");
正在声明一个局部图像变量,该变量为shadowin