2010-11-02 48 views
2

类图像是一个抽象类 - 因此,程序不能实例化类图像来创建对象。为了实现平台独立性,每个平台上的Java实现提供其自己的Image子类来存储图像信息。使用类存储图像信息图像

该文本是关于类java.awt.Image

我不明白的第二部分,即: -

...提供图像自身的子类来存储图像信息。

从技术上讲,这是怎么发生的?

+0

如今你宁愿使用独立于平台的BufferedImage。 – 2010-11-02 18:55:58

回答

3

Image实例通常通过诸如Toolkit.createImage()等方法创建。在这种情况下,Image对象的实际实例被委托给Toolkit类,该类依赖于平台。

请注意,尽管您不能直接实例化类Image,但您可以实例化BufferedImage,这是一个具体的Image子类。

+0

对。这意味着该实现还必须提供Toolkit的子类。 – 2010-11-02 18:53:58

0

Image的具体子类在某些情况下可能是不属于JDK公共API的类。 (在其他情况下,您可能会发现获得BufferedImage,如果您打算对获得的图像执行某些操作,则会更好。)

尝试System.out.println(img.getClass().getName());只是为了查看您要获取的内容。