问题
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
来源:https://stackoverflow.com/questions/18960758/cannot-instantiate-the-type-image-java