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

面试题 相关文章推荐
什么是serialVersionUID
Mar 04 面试题
求高于平均分的学生学号及成绩
Sep 01 面试题
ORACLE第二个十问
Dec 14 面试题
阿里巴巴的Oracle DBA笔试题答案-SQL tuning类
Apr 03 面试题
叙述DBMS对数据控制功能有哪些
Jun 12 面试题
命名空间(namespace)和程序集(Assembly)有什么区别
Sep 25 面试题
如何进行Linux分区优化
Sep 13 面试题
百度软件工程师职位
Feb 14 面试题
分别介绍一下Session Bean和Entity Bean
Mar 13 面试题
EJB发布WEB服务一般步骤
Oct 31 面试题
用Java语言将一个键盘输入的数字转化成中文输出
Jan 25 面试题
你常见到的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异常处理浅析
2015/05/12 PHP
记录一次排查PHP脚本执行卡住的问题
2016/12/27 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
2017/11/28 PHP
PHP常见字符串操作函数与用法总结
2019/03/04 PHP
javascript 获取表单file全路径
2009/12/31 Javascript
JavaScript浏览器选项卡效果
2010/08/25 Javascript
jquery 读取页面load get post ajax 四种方式代码写法
2011/04/02 Javascript
jQuery函数的等价原生函数代码示例
2013/05/27 Javascript
jquery遍历之parent()和parents()的区别及parentsUntil()方法详解
2013/12/02 Javascript
Jquery实现图片预加载与延时加载的方法
2014/12/22 Javascript
JS+CSS实现简单滑动门(滑动菜单)效果
2015/09/19 Javascript
为何JS操作的href都是javascript:void(0);呢
2015/11/12 Javascript
JavaScript数组去重由慢到快由繁到简(优化篇)
2016/08/26 Javascript
JavaScript trim 实现去除字符串首尾指定字符的简单方法
2016/12/27 Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
2017/02/10 Javascript
javascript 单例模式详解及简单实例
2017/02/14 Javascript
Easyui ueditor 整合解决不能编辑的问题(推荐)
2017/06/25 Javascript
微信小程序 开发MAP(地图)实例详解
2017/06/27 Javascript
Vue项目数据动态过滤实践及实现思路
2018/09/11 Javascript
javascript读取本地文件和目录方法详解
2020/08/06 Javascript
在vue中实现某一些路由页面隐藏导航栏的功能操作
2020/09/21 Javascript
学习 Vue.js 遇到的那些坑
2021/02/02 Vue.js
[02:08]2018年度CS GO枪械皮肤设计大赛优秀作者-完美盛典
2018/12/16 DOTA
[48:31]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第一场 2月2日
2021/03/11 DOTA
Django rest framework实现分页的示例
2018/05/24 Python
PyTorch: 梯度下降及反向传播的实例详解
2019/08/20 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
2020/07/02 Python
Html5实现二维码扫描并解析
2016/01/20 HTML / CSS
英国领先的运动物理治疗供应公司:Vivomed
2018/07/14 全球购物
外企测试工程师面试题
2015/02/01 面试题
庆祝教师节活动方案
2014/01/31 职场文书
计划生育证明书写要求
2014/09/17 职场文书
2014年置业顾问工作总结
2014/11/17 职场文书
小学生学习保证书
2015/02/26 职场文书
2015年度优秀员工推荐信
2015/03/23 职场文书
Pytest allure 命令行参数的使用
2021/04/18 Python