Java继承中的方法调用,你搞清楚了吗

Java继承中的方法调用,你搞清楚了吗,第1张

Java继承中的方法调用,你搞清楚了吗 引入正题

我们就从Mybaits和Spring整合的一个类讲解吧, 当时我也有点懵

    
        
        
    

我们直接看这个类的源码:该类实现了

BeanDefinitionRegistryPostProcessor 接口 所以根据SpringBean的生命周期,肯定会调用
postProcessBeanDefinitionRegistry方法,我们直接看该类的这个方法

 后置处理器方法:

ClassPathMapperScanner类 调用了该类的scan方法
进入正题,Scan方法的调用过程

 下面我来补充一张类图,不然很容易搞甍的 ,我们

        上面的对象是子类对象:ClassPathMapperScanner        

                                     父类:ClassPathBeanDefinitionScanner

调用开始:子类没有重写父类的scan方法,所以这里会调用父类:

ClassPathBeanDefinitionScanner 的scan方法 ;请看下图的分析 

注意注意!!!!我们进入子类的doScan方法,我当时就是这里弄混乱的

ClassPathMapperScanner子类的doScan方法,因为当前实例是子类的实例,所以会去找子类的doScan方法(根据上面图我们知道子类重写了父类的doScan方法,所以这里会调用子类的doScan方法)并调用,如果子类没有,就会去父类找,找到了调用父类的方法,没有找到就会去父类的父类继续找

注意这里是进入 ClassPathMapperScanner的doScan,上面分析的很清楚:

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4667828.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存