为什么我会收到此Java错误:“找不到符号”?

时间:2014-06-10 04:08:34

标签: java symbols

package partisan;

import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;

public class SpriteSheet 
{
    private String path;
    private final int SIZE;
    public int[] pixels;
    private SpriteSheet sheet;

    public static Sprite space = new Sprite(16, 0, 0, null);

    public SpriteSheet(String path, int size) 
    {
        this.path = path;
        SIZE = size;
        pixels =new int[SIZE * SIZE];
        load();
    }

    private void load() 
    {
        try 
        {
            BufferedImage image =  ImageIO.read(SpriteSheet.class.getResource(path));
            int w = image.getWidth();
            int h = image.getHeight();
            image.getRGB(0, 0, w, h, pixels, 0, w);
        } catch (IOException e) 
          {
        e.printStackTrace();
          } 
    }
}

因此错误出现在“public static Sprite Space + new Sprite(16,0,0,null)”行中。 我基本上只是在YouTube上关注一个教程,我已经检查了我的代码,它与他的匹配。他的作品和我的作品没有,有什么解释吗?

P.S。对不起,如果这是一些琐事,我对Java不是很擅长,所以我总是犯这样的错误。也请原谅我的英语,因为我来自欧盟。

1 个答案:

答案 0 :(得分:0)

Cannot find symbol表示您有一个要声明的类/对象类型,编译器不知道在哪里查找该类。该类必须位于同一个包中,或者必须导入。

当你这样做时:

import some.pkge.MyClass;

它会告诉编译器任何类型的MyClass都是您导入的特定类。您还可以在代码中使用它的完全限定名称:

some.pkge.MyClass example = new some.pkge.MyClass();

因此,对于您的具体问题,您似乎尚未定义Sprite课程。您将需要制作一个,或从您正在使用的任何库中导入。