Cannot instantiate the type Image java?

2019-07-08 12:22发布

问题:

public Image  images[] = new Image[20];

    for(i=0; i<10; i++){
images[i]=new Image(getClass().getResource("/images/"+i+".jpg"));
        }

I am trying to add images to array but it gives the error Cannot instantiate the type Image j

What can be the reason?

回答1:

Abstract classes cant be instantiated directly. You could use ImageIO.read which returns BufferedImage, a sub-class of Image

void loadImages() throws IOException {

    for (int i = 0; i < 10; i++) {
        images[i] = ImageIO.read(getClass().getResource("/images/" + i + ".jpg"));
    }
}


回答2:

Image is an abstract class and thus cannot be instancied. You should use one of the class who extend Image, like BufferedImage or VolatileImage.

Source: Javadoc of Image