原理:基于Java的继承和多态特性,子类重写了父类的方法,当调用父类另一个方法去调用被重写的方法时,能够调用到被重写之后的逻辑。
场景:父类提供一个方法壳,由一个统一的方法调起,子类重写父类的方法壳,调用父类的统一方法,将按照父类的步骤,子类的具体逻辑来执行。
例子:
public class Demo {
public static void main(String[] args) throws Exception {
Product a = new Element();
a.printA();
}
}
class Product {
public void printA() {
System.out.println("A");
printB();
}
protected void printB() {
}
}
class Element extends Product{
@Override
protected void printB() {
//super.printB();
System.out.println("B");
}
}
输出:![]()
参考例子:Spring的DefaultBeanDefinitionDocumentReader的注册Bean的方法

本文深入探讨了Java中继承和多态的概念,通过具体示例展示了子类如何重写父类方法,以及父类调用被重写方法时的执行逻辑。特别介绍了Spring框架中DefaultBeanDefinitionDocumentReader类的使用场景。
1192

被折叠的 条评论
为什么被折叠?



