在很多代码中,有这样的一句:Image image = Toolkit.getDefaultToolkit().getImage(resource file);我一直不是很理解。Image是java.awt包中的一个抽象类,抽象类是不能实例化的。而Toolkit.getDefaultToolkit()返回的是一个Toolkit类型,
而Toolkit也是抽象类型的,它调用getImage()方法又返回的是Image类型,那么最后不是等号右边返回了一个Image抽象类型的对象了?然后把地址传给image引用型变量。因为这段代码可以通过编译,所以肯定没有问题,但是我对以上代码不理解。有谁可以详细介绍一下?谢谢!
而Toolkit也是抽象类型的,它调用getImage()方法又返回的是Image类型,那么最后不是等号右边返回了一个Image抽象类型的对象了?然后把地址传给image引用型变量。因为这段代码可以通过编译,所以肯定没有问题,但是我对以上代码不理解。有谁可以详细介绍一下?谢谢!
跟这个 有 一些 相同的 地方 , List list = new ArrayList();
Image image = defaultToolkit.getImage("path"); 下面是这两句对应的大概的内存图
List list = new ArrayList();
跟这个一样。虽然List是一个接口。它的意思是说,list是一个实现了List接口的实例。
到你的代码里,意思就是image是一个集成了Image抽象类的实例。