1:什么是抽象类和接口?


①抽象类:

官方:

抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。

个人理解:

类用来描述对象,是对象的模版,抽象类实际就是抽象的对象。例如我们熟悉的水果,苹果,香蕉,猕猴桃,等等大小形态有很大区别,我们怎么把他们抽象一下呢?那就是他们都有一些本质上相同的东西那就是他们都是水果,是水果就有水分,味道等等我们把这些给抽象出来,至于水分是多少的,味道是酸还是甜,这就需要子类实现水果这个抽象方法了。


②接口:

官方:

接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式。

个人理解:

接口就是一种特殊的abstract class,但是比abstract class更加抽象,是完全抽象的抽象类;

接口是一系列抽象方法的集合,是一种规范;

接口的作用:

1、Java是单继承,不能继承多个抽象类,只能实现多个接口

2、解耦。把若干功能拆分出来,按照契约来进行实现和依赖。

3、定义接口有利于代码的规范。

二、具体区别:

三、实际工作中:

大多数第三方框架都会暴露一个接口供外界调用,因为这是行业规范,例如:mybaties的Mapper接口;

而抽象类使用比较少。



版权声明:本文为Struggle233原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Struggle233/article/details/100735695