为什么使用接口?


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

Tags in this post...

面试题 相关文章推荐
PHP面试题集
Dec 18 面试题
怎样让char类型的东西转换成int类型
Dec 09 面试题
Java的五个基础面试题
Feb 26 面试题
int *p=NULL和*p= NULL有什么区别
Oct 23 面试题
字符串str除首尾字符外的其他字符按升序排列
Mar 08 面试题
简述数组与指针的区别
Jan 02 面试题
经典c++面试题四
May 14 面试题
.NET里面什么时候需要调用垃圾回收
Jun 01 面试题
C#软件工程师英语面试题
Jun 07 面试题
Linux常见面试题
Oct 04 面试题
写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数
Apr 13 面试题
J2EE中常用的名词进行解释
Nov 09 面试题
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
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后台如何避免用户直接进入方法实例
2013/10/15 PHP
php多文件上传实现代码
2014/02/20 PHP
PHP中file_exists函数不支持中文名的解决方法
2014/07/26 PHP
Zend Framework开发入门经典教程
2016/03/23 PHP
PHP实现留言板功能的详细代码
2017/03/25 PHP
PHP getDocNamespaces()函数讲解
2019/02/03 PHP
如何用javascript控制上传文件的大小
2006/10/26 Javascript
Track Image Loading效果代码分析
2007/08/13 Javascript
JavaScript 内置对象属性及方法集合
2010/07/04 Javascript
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
代码获取历史上的今天发生的事
2014/04/11 Javascript
get(0).tagName获得作用标签示例代码
2014/10/08 Javascript
javascript实现的猜数小游戏完整实例代码
2016/05/10 Javascript
JS实现移动端判断上拉和下滑功能
2017/08/07 Javascript
swiper 解决动态加载数据滑动失效的问题
2018/02/26 Javascript
如何使用puppet替换文件中的string
2018/12/06 Javascript
C#程序员入门学习微信小程序的笔记
2019/03/05 Javascript
JavaScript常用工具函数汇总(浏览器环境)
2020/09/17 Javascript
[45:06]完美世界DOTA2联赛PWL S2 Magma vs InkIce 第二场 11.28
2020/12/02 DOTA
Python生成pdf文件的方法
2014/08/04 Python
零基础写python爬虫之打包生成exe文件
2014/11/06 Python
Python清空文件并替换内容的实例
2018/10/22 Python
python使用Paramiko模块实现远程文件拷贝
2019/04/30 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
2019/05/27 Python
Python Request类源码实现方法及原理解析
2020/08/17 Python
13个Pandas实用技巧,助你提高开发效率
2020/08/19 Python
HTML中fieldset标签概述及使用方法
2013/02/01 HTML / CSS
大学生如何写自荐信
2014/01/08 职场文书
应届生简历中的自我评价
2014/01/13 职场文书
办护照工作证明范本
2014/01/14 职场文书
干部现实表现材料
2014/02/13 职场文书
护林防火标语
2014/06/27 职场文书
信贷客户经理岗位职责
2015/04/09 职场文书
2016党性教育学习心得体会
2016/01/21 职场文书
自荐信大全
2019/03/21 职场文书
springboot 自定义配置 解决Boolean属性不生效
2022/03/18 Java/Android