类和类之间,接口和接口之间是继承;类和接口之间是实现;类只能单继承,接口可以多继承。

1、接口的出现扩展了功能。

2、接口其实就是暴漏出来的规则。

3、接口的出现降低了耦合性,即设备与设备之间实现了解耦。

4、接口的出现,方便后期使用和维护。

5、提高了代码的复用性。

接口和抽象类的区别:

相同点:

l  都位于继承的顶端,用于被其他类实现或继承;

l  都不能直接实例化对象;

l  都可以包含抽象方法,其子类都必须覆写这些抽象方法;

区别:

l  抽象类为部分方法提供实现,避免子类重复实现这些方法,提高代码重用性;接口只能包含抽象方法;

l  一个类只能继承一个直接父类(可能是抽象类),却可以实现多个接口;(接口弥补了Java的单继承)

l  抽象类是这个事物中应该具备的内容, 继承体系是一种 is..a关系

l  接口是这个事物中的额外内容,继承体系是一种 like..a关系

二者的选用:

l  优先选用接口,尽量少用抽象类;

l  需要定义子类的行为,又要为子类提供共性功能时才选用抽象类;

最新文章

  1. swift 定位
  2. cmd执行mysql操作
  3. 提升VMware虚拟机性能招数
  4. hdu2196
  5. asp.net mvc中包含webapi时,token失效产生302的解决方案
  6. ASP.NET后台JS弹框使前台页面样式丢失 解决办法
  7. ci实现RBAC,详细解释原理和核心代码显示
  8. 理解DOM中的事件流
  9. [NOI2005]维修数列 Splay tree 区间反转,修改,求和,求最值
  10. PHP解析和生成xml(DOMDocument版)
  11. 不使用回调函数的ajax请求实现(async和await简化回调函数嵌套)
  12. linux小白成长之路2————yum安装火狐浏览器
  13. Unity中控制天空盒移动的解决办法
  14. 移动端H5混合开发设置复盘与总结
  15. 像黑客一样使用Linux命令行(转载)
  16. QTreeView
  17. java的灵魂——反射
  18. [leetcode tree]96. Unique Binary Search Trees
  19. Java虚拟机学习 - 内存调优 ( 9 )
  20. [HNOI2012]集合选数 --- 状压DP

热门文章

  1. Scala Collection Method
  2. ndk-build官方使用说明
  3. Mysql系列(三)—— Mysql主从复制配置
  4. mysql提示The server quit without updating PID file /usr/local/mysql/data/localhost.localdomain.pid
  5. delphi安装控件
  6. JS 数组克隆方法总结(不可更改原数组)
  7. Java深入学习(1):多线程
  8. Spring Boot加载application.properties配置文件顺序规则
  9. FFMPEG SDK 开发介绍(原创)
  10. web由http升级为https搭建