什么是接口(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...

面试题 相关文章推荐
益模软件Java笔试题
Mar 27 面试题
Java里面如何创建一个内部类的实例
Jan 19 面试题
在C语言中"指针和数组等价"到底是什么意思?
Mar 24 面试题
一套带答案的C++笔试题
Jan 10 面试题
一组SQL面试题
Feb 15 面试题
简述数据库的设计过程
Jun 22 面试题
.NET概念性的面试题
Feb 29 面试题
linux比较文件内容的命令是什么
Sep 23 面试题
EJB需直接实现它的业务接口或Home接口吗,请简述理由
Nov 23 面试题
Shell脚本如何向终端输出信息
Apr 25 面试题
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
May 30 面试题
Ruby如何创建一个线程
Mar 10 面试题
你常见到的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
thinkphp验证码显示不出来的解决方法
2014/03/29 PHP
PHP调用C#开发的dll类库方法
2014/07/28 PHP
PHP大神的十大优良习惯
2016/09/14 PHP
驱动事件的addEvent.js代码
2007/03/27 Javascript
js同时按下两个方向键
2007/12/01 Javascript
JavaScript之AOP编程实例
2015/07/17 Javascript
jQuery实现的左右移动焦点图效果
2016/01/14 Javascript
vue分页组件table-pagebar使用实例解析
2020/11/15 Javascript
jQuery实现简单的网页换肤效果示例
2016/09/18 Javascript
基于JavaScript实现熔岩灯效果导航菜单
2017/01/04 Javascript
[原创]SyntaxHighlighter自动识别并加载脚本语言
2017/02/07 Javascript
Java中int与integer的区别(基本数据类型与引用数据类型)
2017/02/19 Javascript
angular+ionic返回上一页并刷新页面
2017/08/08 Javascript
快速解决angularJS中用post方法时后台拿不到值的问题
2018/08/14 Javascript
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
基于vue开发微信小程序mpvue-docs跳转页面功能
2019/04/10 Javascript
elementUI vue this.$confirm 和el-dialog 弹出框 移动 示例demo
2019/07/03 Javascript
[01:37]DOTA2超级联赛专访ChuaN 传奇般的电竞之路
2013/06/19 DOTA
[52:31]VP vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[56:21]LGD vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python插入排序算法的实现代码
2013/11/21 Python
python实现图片批量剪切示例
2014/03/25 Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
2018/01/02 Python
Python进阶之全面解读高级特性之切片
2019/02/19 Python
详解PyCharm安装MicroPython插件的教程
2019/06/24 Python
Python OpenCV 调用摄像头并截图保存功能的实现代码
2019/07/02 Python
浅析Windows 嵌入python解释器的过程
2019/07/26 Python
Jupyter Notebook打开任意文件夹操作
2020/04/14 Python
Keras实现支持masking的Flatten层代码
2020/06/16 Python
python产生模拟数据faker库的使用详解
2020/11/04 Python
canvas实现图片镜像翻转的2种方式
2020/07/22 HTML / CSS
EMPHASIS艾斐诗官网:周生生旗下原创精品珠宝品牌
2020/12/17 全球购物
资产经营总监岗位职责范文
2013/12/01 职场文书
教师读书活动总结
2014/05/07 职场文书
检察机关个人对照检查材料
2014/09/15 职场文书
TV动画《政宗君的复仇》第二季制作决定PV公布
2022/04/02 日漫