Spring源码分析【0】-框架的基础:继承和接口调用链

Spring源码大量的使用继承和接口调用,现举个例子,不搞清楚这个无法看代码。

public class A extends B{

    public void f1() {
        System.out.println("f1 in a");
    }
}

public abstract class B extends C {

    protected abstract void f1();

    protected String ff() {
        f1();
        return "ff in b";
    }
}

public abstract class C  extends D{
    public void f2() {
        super.f2();
        System.out.println("f2 in c");
    }
}

public abstract class D implements I{

    public void f2() {
        System.out.println("f2 in d");
        f3();
    }

    public void f3() {
        System.out.println("f3 in d");
        System.out.println(ff());
    }

    protected abstract String ff();

}

public interface I {
    public void f2();
}

public class Main {

    public static void main(String[] args) {
        A a = new A();
        a.f2();
    }

可以看出a可以点出其他方法,因为他A继承了父类B,父类B又继承父类B的父类C了…

《Spring源码分析【0】-框架的基础:继承和接口调用链》

输出如下:

《Spring源码分析【0】-框架的基础:继承和接口调用链》

    原文作者:Spring MVC
    原文地址: https://blog.csdn.net/unix21/article/details/52091589
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞