什么是接口(Interface)?


Posted in 面试题 onFebruary 01, 2013
Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
接口的两种含义:一,Java接口,Java语言中存在的结构,有特定的语法和结构;二,一个类所具有的方法的特征集合,是一种逻辑上的抽象。前者叫做“Java接口”,后者叫做“接口”。
在Java语言规范中,一个方法的特征仅包括方法的名字,参数的数目和种类,而不包括方法的返回类型,参数的名字以及所抛出来的异常。在Java编译器检 查方法的重载时,会根据这些条件判断两个方法是否是重载方法。但在Java编译器检查方法的置换时,则会进一步检查两个方法(分处超类型和子类型)的返还 类型和抛出的异常是否相同。
接口继承和实现继承的规则不同,一个类只有一个直接父类,但可以实现多个接口。
Java接口本身没有任何实现,因为Java接口不涉及表象,而只描述public行为,所以Java接口比Java抽象类更抽象化。
Java接口的方法只能是抽象的和公开的,Java接口不能有构造器,Java接口可以有public,静态的和final属性。
接口把方法的特征和方法的实现分割开来。这种分割体现在接口常常代表一个角色,它包装与该角色相关的操作和属性,而实现这个接口的类便是扮演这个角色的演员。一个角色由不同的演员来演,而不同的演员之间除了扮演一个共同的角色之外,并不要求其它的共同之处。

Tags in this post...

面试题 相关文章推荐
PHP如何与mysql建立链接
May 05 面试题
xml有哪些解析技术?区别是什么
Apr 26 面试题
解释一下Windows的消息机制
Jan 30 面试题
在数据文件自动增长时,自动增长是否会阻塞对文件的更新
May 01 面试题
如何实现一个自定义类的序列化
May 22 面试题
亿阳信通股份有限公司笔试题(C#)
Mar 04 面试题
linux面试题参考答案(9)
Jan 29 面试题
你所在的项目是如何确定版本号的
Dec 28 面试题
正隆泰信息技术有限公司上机题
Jun 14 面试题
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
Jul 06 面试题
Ejb技术面试题
Apr 29 面试题
Delphi CS笔试题
Jan 04 面试题
你常见到的runtime exception
Sep 05 #面试题
PHP高级工程师面试问题推荐
Jan 18 #面试题
PHP开发工程师面试问题集锦
Nov 01 #面试题
一份比较全的PHP面试题
Jul 29 #面试题
Yahoo-PHP面试题4
May 05 #面试题
Yahoo-PHP面试题3
Jan 14 #面试题
Yahoo-PHP面试题2
Dec 06 #面试题
You might like
php PDO中文乱码解决办法
2009/07/20 PHP
php求两个目录的相对路径示例(php获取相对路径)
2014/03/27 PHP
PHP判断一个gif图片是否为动态图片的方法
2014/11/19 PHP
PHP中开启gzip压缩的2种方法
2015/01/31 PHP
PHP控制反转(IOC)和依赖注入(DI)
2017/03/13 PHP
php时间戳转换代码详解
2019/08/04 PHP
javascript的对话框详解与参数
2007/03/08 Javascript
妙用Jquery的val()方法
2012/06/27 Javascript
JS 有趣的eval优化输入验证实例代码
2013/09/22 Javascript
JavaScript中的无阻塞加载性能优化方案
2014/10/10 Javascript
jQuery超简单选项卡完整实例
2015/09/26 Javascript
JavaScript必知必会(三) String .的方法来自何方
2016/06/08 Javascript
hovertree插件实现二级树形菜单(简单实用)
2016/12/28 Javascript
Angularjs中的验证input输入框只能输入数字和小数点的写法(推荐)
2017/08/16 Javascript
微信小程序如何使用canvas二维码保存至手机相册
2019/07/15 Javascript
layui异步加载table表中某一列数据的例子
2019/09/16 Javascript
vue中使用vee-validator完成表单校验方案
2019/11/01 Javascript
高效jQuery选择器的5个技巧实例分析
2019/11/26 jQuery
利用PHP实现递归删除链表元素的方法示例
2020/10/23 Javascript
Python实现中一次读取多个值的方法
2018/04/22 Python
django用户登录和注销的实现方法
2018/07/16 Python
Python 3.x基于Xml数据的Http请求方法
2018/12/28 Python
numpy库与pandas库axis=0,axis= 1轴的用法详解
2019/05/27 Python
CLR与IL分别是什么含义
2016/08/23 面试题
应用心理学个人求职信范文
2013/12/11 职场文书
四群教育工作实施方案
2014/03/26 职场文书
工厂采购员岗位职责
2014/04/08 职场文书
对孩子的寄语
2014/04/09 职场文书
爱情寄语大全
2014/04/09 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
幼儿园个人师德总结
2015/02/06 职场文书
幼儿园小班教师随笔
2015/08/14 职场文书
HTML5页面音频自动播放的实现方式
2021/06/21 HTML / CSS
springboot中rabbitmq实现消息可靠性机制详解
2021/09/25 Java/Android
使用HttpSessionListener监听器实战
2022/03/17 Java/Android
将MySQL的表数据全量导入clichhouse库中
2022/03/21 MySQL