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