Java “理解”;ImageIO.read(getClass().getResource(path))”;

Java “理解”;ImageIO.read(getClass().getResource(path))”;,java,javax.imageio,Java,Javax.imageio,我的问题是关于以下代码示例: public class BufferedImageLoader { private BufferedImage image; public BufferedImage loadImage(String path) throws IOException { image = ImageIO.read(getClass().getResource(path)); return

我的问题是关于以下代码示例:

    public class BufferedImageLoader {

        private BufferedImage image;

        public BufferedImage loadImage(String path) throws IOException {

            image = ImageIO.read(getClass().getResource(path));
            return image;

        }

    }
我查看了Java API,在ImageIO类中发现了3种不同的read()方法:

1.: 读取(文件输入)

2.:读取(ImageInputStream)

3.:读取(输入流输入)

4.:读取(URL输入)

我的问题是:在这个例子中使用了四种方法中的哪一种? 我有点困惑,因为在这个例子中

read(getClass().getResource(path));
“getClass()”在这里返回“BufferedImageLoader”,对吗? 然后我们调用方法“read(getClass().getResource(path))”,该方法必须位于BufferedImageLoader类中,但事实并非如此

我错在哪里?

getClass().getResource(path))
返回一个
URL
,因此在本例中,它将使用
ImageIO.read(URL)

此外,如果使用
Class#getResourceAsInputStream
,它将返回一个
InputStream
,这意味着它将使用
ImageIO.read(InputStream)
,而不是返回的类型化实例,在您的例子中是
Class

警惕(“你好”);
警报(“已成功删除所选项目”)
Object 35; getClass()
返回一个
java.lang.Class
对象
Class#getResource(String)
返回一个
java.net.URL
对象。
<Script = "JavaScript">
alert("Hello");
</Script>