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

面试题 相关文章推荐
介绍一下Cookie和Session及他们之间的区别
Nov 20 面试题
HashMap和Hashtable的区别
May 18 面试题
什么是serialVersionUID
Mar 04 面试题
将"引用"作为函数返回值类型的格式、好处和需要遵守的规则
Feb 09 面试题
介绍一下游标
Jan 10 面试题
渗透攻击的测试步骤
Jun 07 面试题
网络安全类面试题
Aug 01 面试题
Linux面试经常问的文件系统操作命令
Nov 05 面试题
为什么需要版本控制
Oct 28 面试题
介绍一下RMI的基本概念
Dec 17 面试题
什么是JNDI的上下文?如何初始化JNDI上下文
Mar 10 面试题
垃圾回收的优点和原理
May 16 面试题
你常见到的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
一个程序下载的管理程序(四)
2006/10/09 PHP
php二维数组合并及去重复的方法
2015/03/04 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
Laravel 队列使用的实现
2019/01/08 PHP
Laravel框架查询构造器 CURD操作示例
2019/09/04 PHP
js调用flash的效果代码
2008/04/26 Javascript
javascript 极速 隐藏/显示万行表格列只需 60毫秒
2009/03/28 Javascript
actionscript与javascript的区别
2011/05/25 Javascript
JavaScript初学者应注意的七个细节小结
2012/01/30 Javascript
js实现对ajax请求面向对象的封装
2016/01/08 Javascript
JavaScript中使用数组方法汇总
2016/02/16 Javascript
简单实现node.js图片上传
2016/12/18 Javascript
Angularjs实现上传图片预览功能
2017/09/01 Javascript
js 两数组去除重复数值的实例
2017/12/06 Javascript
看看“疫苗查询”小程序有温度的代码
2018/07/31 Javascript
JS实现数组删除指定元素功能示例
2019/06/05 Javascript
layer弹出层取消遮罩的方法
2019/09/25 Javascript
详解小程序BackgroundAudioManager踩坑之旅
2019/12/08 Javascript
Vue router安装及使用方法解析
2020/12/02 Vue.js
详解python字节码
2018/02/07 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
2018/12/27 Python
python多线程与多进程及其区别详解
2019/08/08 Python
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
2020/04/20 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
2021/02/02 Python
Chinti & Parker官网:奢华羊绒女装和创新针织设计
2021/01/01 全球购物
Linux如何为某个操作添加别名
2015/02/05 面试题
Java程序员面试题
2016/09/27 面试题
生产车间实习自我鉴定
2013/09/23 职场文书
好的演讲稿开场白
2013/12/30 职场文书
保护地球的标语
2014/06/17 职场文书
党的群众路线教育实践活动对照检查材料(四风)
2014/09/27 职场文书
吃空饷专项整治方案
2014/10/27 职场文书
学校清洁工岗位职责
2015/04/15 职场文书
基石观后感
2015/06/12 职场文书
2016党员三严三实心得体会
2016/01/15 职场文书
python四个坐标点对图片区域最小外接矩形进行裁剪
2021/06/04 Python