为什么使用接口?


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

Tags in this post...

面试题 相关文章推荐
Yahoo-PHP面试题4
May 05 面试题
What is the purpose of Void class? Void类的作用是什么?
Oct 31 面试题
普天C++笔试题
Mar 20 面试题
北京SQL新华信咨询
Sep 30 面试题
数据库笔试题
May 09 面试题
存储过程的优点有哪些
Sep 27 面试题
请解释流与文件有什么不同
Jul 29 面试题
一套比较完整的软件测试人员面试题
May 13 面试题
Why do we need Unit test
Jan 03 面试题
异步传递消息系统的作用
May 01 面试题
Java中的异常处理机制的简单原理和应用
Apr 27 面试题
WSDL的操作类型主要有几种
Jul 19 面试题
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
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中使用Oracle数据库(6)
2006/10/09 PHP
基于php上传图片重命名的6种解决方法的详细介绍
2013/04/28 PHP
PHP利用递归函数实现无限级分类的方法
2019/03/22 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
2020/02/16 PHP
javascript 导出数据到Excel(处理table中的元素)
2009/12/18 Javascript
div拖拽插件——JQ.MoveBox.js(自制JQ插件)
2013/05/17 Javascript
JavaScript中访问节点对象的方法有哪些如何使用
2013/09/24 Javascript
jQuery简单动画变换效果实例分析
2016/07/04 Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
2016/07/07 Javascript
ajax级联菜单实现方法实例分析
2016/11/28 Javascript
Javascript中常用类型的格式化方法小结
2016/12/26 Javascript
原生js实现放大镜效果
2017/01/11 Javascript
Bootstrap列表组学习使用
2017/02/09 Javascript
angularjs+bootstrap菜单的使用示例代码
2017/03/07 Javascript
微信小程序 密码输入(源码下载)
2017/06/27 Javascript
手写Node静态资源服务器的实现方法
2018/03/20 Javascript
bootstrap 弹出框modal添加垂直方向滚轴效果
2018/07/09 Javascript
利用vue-i18n实现多语言切换效果的方法
2019/06/19 Javascript
vue-cli3配置与跨域处理方法
2019/08/17 Javascript
详解ES6中class的实现原理
2020/10/03 Javascript
vue3.0自定义指令(drectives)知识点总结
2020/12/27 Vue.js
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:EE凭借法力虚空拿下4杀
2017/03/30 DOTA
python中list常用操作实例详解
2015/06/03 Python
java中两个byte数组实现合并的示例
2018/05/09 Python
Python使用指定字符长度切分数据示例
2019/12/05 Python
解决Pytorch自定义层出现多Variable共享内存错误问题
2020/06/28 Python
微信小程序实现可实时改变转速的css3旋转动画实例代码
2018/09/11 HTML / CSS
前端实现打印图像功能
2019/08/27 HTML / CSS
澳大利亚自然和有机的健康美容产品一站式商店:Ziani Beauty
2017/12/28 全球购物
马德里竞技官方网上商店:Atletico Madrid Shop
2019/03/31 全球购物
介绍一下XMLHttpRequest对象的常用方法和属性
2013/05/24 面试题
人力资源主管岗位职责
2014/01/29 职场文书
保安队长职务说明书
2014/02/23 职场文书
销售口号大全
2014/06/11 职场文书
民警个人对照检查剖析材料
2014/09/17 职场文书
离婚协议书怎么写(范本参考)
2014/09/30 职场文书