接口和抽象类是整个项目之中最大的组成灵魂,下面说说区别
NO | 区别 | 抽象类 | 接口 |
1 | 关键字 | abstract class() | Interface 接口名称() |
2 | 组成 | 普通方法、构造方法、抽象方法、常量、变量 | 全局常量、抽象方法 |
3 | 权限 | 各种权限 | 只能是public |
4 | 使用 | 子类使用extends只能继承一个父类 | 子类使用implements可以实现多个接口 |
5 | 关系 | 抽象类可以实现多个接口 | 接口不能继承抽象类,但可以继承多个接口,实现接口多继承 |
6 | 设计 | 模板设计模式 | 工厂设计模式,代理设计模式 |
7 | 局限 | 单继承局限 | 无局限 |
通过以上分析可以发现,在项目中是使用抽象类还是使用接口其实都一样,可是由于接口没有抽象类的单据城局限,那么在开发中如果发现接口和抽象类都能使用时,优先使用接口,避免单继承局限。