为什么使用接口?


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

Tags in this post...

面试题 相关文章推荐
PHP解析URL是哪个函数?怎么用?
May 09 面试题
Yahoo-PHP面试题2
Dec 06 面试题
super关键字的用法
Apr 10 面试题
C++的几个面试题附答案
Aug 03 面试题
SQL Server里面什么样的视图才能创建索引
Apr 17 面试题
网络通讯中,端口有什么含义,端口的取值范围
Nov 23 面试题
linux面试题参考答案(3)
Sep 13 面试题
几个Shell Script面试题
Aug 31 面试题
EJB实例的生命周期
Oct 28 面试题
腾讯公司的一个sql题
Jan 22 面试题
描述JSP和Servlet的区别、共同点、各自应用的范围
Oct 02 面试题
Delphi软件工程师试题
Jan 29 面试题
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
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 中的批处理的实现
2007/06/14 PHP
一个PHP数组应该有多大的分析
2009/07/30 PHP
初识PHP
2014/09/28 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
2014/10/23 PHP
php生成酷炫的四个字符验证码
2016/04/22 PHP
Centos7.7 64位利用本地完整安装包安装lnmp/lamp套件教程
2021/03/09 Servers
用jquery实现学校的校历(asp.net+jquery ui 1.72)
2010/01/01 Javascript
JavaScript执行效率与性能提升方案
2012/12/21 Javascript
Javascript获取当前日期的农历日期代码
2014/10/08 Javascript
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
jquery实现邮箱自动填充提示功能
2015/11/17 Javascript
详解Bootstrap的aria-label和aria-labelledby应用
2016/01/04 Javascript
AngularJS 避繁就简的路由
2016/07/01 Javascript
微信小程序 教程之WXSS
2016/10/18 Javascript
js处理层级数据结构的方法小结
2017/01/17 Javascript
JavaScript对象拷贝与赋值操作实例分析
2018/12/10 Javascript
JavaScript闭包与作用域链实例分析
2019/01/21 Javascript
p5.js实现故宫橘猫赏秋图动画
2019/10/23 Javascript
Node.js 深度调试方法解析
2020/07/28 Javascript
python3下使用cv2.imwrite存储带有中文路径图片的方法
2018/05/10 Python
Django中使用Celery的教程详解
2018/08/24 Python
python将处理好的图像保存到指定目录下的方法
2019/01/10 Python
python实现向微信用户发送每日一句 python实现微信聊天机器人
2019/03/27 Python
PyQt5基本控件使用之消息弹出、用户输入、文件对话框的使用方法
2019/08/06 Python
对pytorch中的梯度更新方法详解
2019/08/20 Python
python数据预处理方式 :数据降维
2020/02/24 Python
django实现模型字段动态choice的操作
2020/04/01 Python
python怎么删除缓存文件
2020/07/19 Python
Python用SSH连接到网络设备
2021/02/18 Python
使用HTML5的链接预取功能(link prefetching)给网站提速
2012/12/13 HTML / CSS
英国电动工具购买网站:Anglia Tool Centre
2017/04/25 全球购物
TripAdvisor西班牙官方网站:全球领先的旅游网站
2018/01/10 全球购物
中秋节活动总结
2014/08/29 职场文书
中小学生学籍证明
2014/10/25 职场文书
中学生国庆节演讲稿2015
2015/07/30 职场文书
python本地文件服务器实例教程
2021/05/02 Python