【问题标题】:Why declare a 'Image' variable and then assign value occurs errors?为什么声明一个'Image'变量然后赋值会发生错误?
【发布时间】:2023-04-04 10:39:01
【问题描述】:

我在java中遇到了一个有线问题,下面的代码显示错误:

public class GameStart extends GameFrame {


    Image plane1=null;

    plane1=ImageIO.read(new File("C:\\Users\\jack\\IdeaProjects\\Selftest\\Game\\src\\plane.png"));

................

虽然下面这样的代码是正常的,但我不知道为什么,因为它们的含义相同,唯一的区别是声明顺序本身,我的代码有什么问题吗?

public class GameStart extends GameFrame {

    Image plane1 = ImageIO.read(new File("C:\\Users\\jack\\IdeaProjects\\Selftest\\Game\\src\\plane.png"));

...................

【问题讨论】:

  • 我是java新手,如果你能帮助我,谢谢!
  • 我不明白你的问题。你在说哪个错误?一般来说,如果可能,您不应使用null。如果可以,在声明变量时正确初始化变量。
  • 当你不直接初始化你的字段(一行)时,你必须在构造函数、方法或“{...}”块中进行......在一个不可能的课程中。见docs.oracle.com/javase/tutorial/java/javaOO/initial.html
  • @cbley 红色下划线警告是我关心的错误,idle 说“plane1”是未知类,但我事先在“Image”类中声明了它
  • 你遇到了什么错误?图像是一个抽象类,不能直接初始化……但是空赋值应该可以正常工作。

标签: java declare


【解决方案1】:

我认为它是您正在使用的 IDE,无论是 Eclipse 还是 IntelliJ 等。它可能无法正常刷新。

更好的测试是使用 javac 从命令行编译这两个不同之处。它们都应该编译没有错误。

这可能应该是一个评论,但我没有足够的声望点,我快到了 uggghh。

【讨论】:

  • 不,不是idle的问题,虽然我用的是Clion,解决方法来自原问题下面的cmets,有兴趣的可以参考一下。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 2022-11-27
  • 2017-04-17
  • 1970-01-01
相关资源
最近更新 更多