之前看Spring源码的时候一直不理解为啥spring框架中定义了一个接口之后经常会先用几个抽象类实现,然后再通过继承抽象类来实现真实的类。直到前几天自己重构代码的时候才真正理解抽象类和接口在使用上的区别。
抽象类可以继承接口,也可以定义抽象方法,但是也可以定义变量和实现方法,但是不能被实例化。而接口只包含需实现的方法。因此可以通过在抽象类继承接口并且定义通用的变量及方法,但不实现具体的方法。通过继承这个抽象类可以很方便的实现相关接口,而不需要每个实现类都声明一些重复的变量。
来源:CSDN
作者:Nychophilia1990
链接:https://blog.csdn.net/weixin_40942593/article/details/104684993