看了spring mvc 的文件部分 看的有点不明白 各种接口 导致我不知道 file.getSize()到底调用哪个类的实现方法?以后遇到这种情况应该如何看呢?

Jordan裔 发布于 2018/01/04 08:55
阅读 191
收藏 0

下图file.getSize()是获取文件大小的方法,file是MultipartFile的对象,MultipartFile是接口,multiRequest.getFile(iter.next())生成file对象的,multiRequest又是MultipartHttpServletRequest的对象,MultipartHttpServletRequest也是接口,各种接口啊。。。。。 ,getsize()这个方法是接口Multipartfile里面的抽象方法,这个接口有三个实现类,就是说getSize()被重写了三次,到底这个getSize()调用的哪个实现类的呢?怎么知道的?

加载中
0
思无邪_NO1

这个只能运行时或者debug的时候才能确定调用哪个,  坐等大牛来指导下没有debug的时候如何看这样的源码,我也很困惑

0
风吹屁屁凉
风吹屁屁凉

我是通过断点debug,然后找实现类,直接找实现比较恶心,一个接口可能会有二十几甚至几十个实现

0
魔力猫
魔力猫

通过javadoc查MultipartFile所有实现类,就可以看到具体的实现了。但是这个一般情况下没意义吧。接口的封装就是让你不用管这事。除非出现BUG或者你自己搞深入研究,不然不用管。

Jordan裔
Jordan裔
就是想深入研究
返回顶部
顶部