为什么使用接口?


Posted in 面试题 onAugust 13, 2014
两个类中的两个类似的功能,调用他们的类动态的决定一种实现,那他们提供一个抽象父类,子类分别实现父类所定义的方法。
问题的出现:Java是一种单继承的语言,一般情况下,哪个具体类可能已经有了一个超类,解决是给它的父类加父类,或者给它父类的父类加父类,只到移动到类等级结构的最顶端。这样一来,对一个具体类的可插入性的设计,就变成了对整个等级结构中所有类的修改。
接口是可插入性的保证。
在一个等级结构中的任何一个类都可以实现一个接口,这个接口会影响到此类的所有子类,但不会影响到此类的任何超类。此类将不得不实现这个接口所规定的方 法,而其子类可以从此类自动继承这些方法,当然也可以选择置换掉所有的这些方法,或者其中的某一些方法,这时候,这些子类具有了可插入性(并且可以用这个 接口类型装载,传递实现了他的所有子类)。
我们关心的不是那一个具体的类,而是这个类是否实现了我们需要的接口。
接口提供了关联以及方法调用上的可插入性,软件系统的规模越大,生命周期越长,接口使得软件系统的灵活性和可扩展性,可插入性方面得到保证。

Tags in this post...

面试题 相关文章推荐
精伦电子Java笔试题
Jan 16 面试题
Java的五个基础面试题
Feb 26 面试题
"引用"与指针的区别是什么
Sep 07 面试题
什么是托管函数?托管函数有什么用?
Jun 15 面试题
木马的传播途径主要有哪些
Apr 08 面试题
天网面试题
Apr 07 面试题
Linux机考试题
Oct 16 面试题
某公司面试题
Mar 05 面试题
如何获得EntityManager
Feb 09 面试题
Python文件操作的面试题
Jun 22 面试题
J2EE面试题大全
Aug 06 面试题
Java servlet面试题
Mar 04 面试题
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
Sep 09 #面试题
什么是接口(Interface)?
Feb 01 #面试题
你常见到的runtime exception
Sep 05 #面试题
PHP高级工程师面试问题推荐
Jan 18 #面试题
PHP开发工程师面试问题集锦
Nov 01 #面试题
一份比较全的PHP面试题
Jul 29 #面试题
Yahoo-PHP面试题4
May 05 #面试题
You might like
php实现递归抓取网页类实例
2015/04/03 PHP
php实现的用户查询类实例
2015/06/18 PHP
Yii2实现log输出到file及database的方法
2016/11/12 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
Laravel多域名下字段验证的方法
2019/04/04 PHP
Jquery中使用setInterval和setTimeout的方法
2013/04/08 Javascript
JS实现div内部的文字或图片自动循环滚动代码
2013/04/19 Javascript
判断js的Array和Object的实现方法
2016/08/29 Javascript
jQuery EasyUI常用数据验证汇总
2016/09/18 Javascript
JS命令模式例子之菜单程序
2016/10/10 Javascript
浅谈angular2的http请求返回结果的subcribe注意事项
2017/03/01 Javascript
原生JS实现导航下拉菜单效果
2020/11/25 Javascript
老生常谈js数据类型
2017/08/03 Javascript
详解React native全局变量的使用(跨组件的通信)
2017/09/07 Javascript
Javascript获取某个月的天数
2018/05/30 Javascript
Node.js 使用request模块下载文件的实例
2018/09/05 Javascript
解决在layer.open中使用时间控件laydate失败的问题
2019/09/11 Javascript
JavaScript设计模式---单例模式详解【四种基本形式】
2020/05/16 Javascript
Python判断文件和文件夹是否存在的方法
2015/05/21 Python
详解Django框架中的视图级缓存
2015/07/23 Python
Python中的字典与成员运算符初步探究
2015/10/13 Python
python实现实时监控文件的方法
2016/08/26 Python
Python3 安装PyQt5及exe打包图文教程
2019/01/08 Python
NumPy 数组使用大全
2019/04/25 Python
Python拆分大型CSV文件代码实例
2019/10/07 Python
Python3查找列表中重复元素的个数的3种方法详解
2020/02/13 Python
python 6.7 编写printTable()函数表格打印(完整代码)
2020/03/25 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
2020/04/22 Python
玛蒂尔达简服装:Matilda Jane Clothing
2019/02/13 全球购物
在DELPHI中调用存储过程和使用内嵌SQL哪种方式更好
2016/11/22 面试题
2014两会优秀的心得体会范文
2014/03/17 职场文书
外贸会计专业自荐信
2014/06/22 职场文书
新农村建设标语
2014/06/24 职场文书
群众路线班子对照检查材料
2014/09/25 职场文书
2019关于垃圾分类处理的调查报告
2019/12/26 职场文书
Java elasticsearch安装以及部署教程
2021/06/28 Java/Android