什么是接口(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如何去执行一个SQL语句
Mar 05 面试题
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
Nov 18 面试题
请写出 BOOL flag 与"零值"比较的 if 语句
Feb 29 面试题
怎么可以提高数据库查询数据的速度
Jun 28 面试题
上海期货面试题
Jan 31 面试题
逻辑链路控制协议
Oct 01 面试题
linux面试题参考答案(1)
Jan 22 面试题
GWT (Google Web Toolkit)有哪些主要的原件组成?
Jun 08 面试题
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
Dec 30 面试题
Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
Jan 27 面试题
日期和时间问题
Jan 04 面试题
Final类有什么特点
Apr 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 zip文件解压类代码
2009/12/02 PHP
php 使用array函数实现分页
2015/02/13 PHP
PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
2015/12/24 PHP
Joomla语言翻译类Jtext用法分析
2016/05/05 PHP
不常用但很实用的PHP预定义变量分析
2019/06/25 PHP
地址栏传递中文参数乱码在js里用escape转码
2013/08/28 Javascript
概述如何实现一个简单的浏览器端js模块加载器
2016/12/07 Javascript
Node.js连接postgreSQL并进行数据操作
2016/12/18 Javascript
详解在Angularjs中ui-sref和$state.go如何传递参数
2017/04/24 Javascript
详解webpack解惑:require的五种用法
2017/06/09 Javascript
vuejs父子组件之间数据交互详解
2017/08/09 Javascript
vuex学习之Actions的用法详解
2017/08/29 Javascript
原生JS实现日历组件的示例代码
2017/09/22 Javascript
mac中利用NVM管理不同node版本的方法详解
2017/11/08 Javascript
layui table 多行删除(id获取)的方法
2019/09/12 Javascript
javascript实现贪吃蛇经典游戏
2020/04/10 Javascript
Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现
2020/09/04 Javascript
python 实现图片旋转 上下左右 180度旋转的示例
2019/01/24 Python
python 内置函数汇总详解
2019/09/16 Python
python 识别登录验证码图片功能的实现代码(完整代码)
2020/07/03 Python
如何使用PyCharm引入需要使用的包的方法
2020/09/22 Python
CSS3 选择器 基本选择器介绍
2012/01/21 HTML / CSS
前端隐藏出边界内容的实现方法
2016/04/14 HTML / CSS
CSS3的常见transformation图形变化用法小结
2016/05/13 HTML / CSS
HTML5 canvas基本绘图之图形变换
2016/06/27 HTML / CSS
英国体育器材进口商店:UK Sport Imports
2017/03/14 全球购物
Hotels.com香港酒店网:你的自由行酒店订房专家
2018/01/22 全球购物
搞笑的获奖感言
2014/08/16 职场文书
医院护士见习期自我鉴定
2014/09/15 职场文书
2014年控辍保学工作总结
2014/12/08 职场文书
工资证明范本
2015/06/12 职场文书
2015年国庆节新闻稿
2015/07/18 职场文书
解析:创业计划书和商业计划书二者之间到底有什么区别
2019/08/14 职场文书
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers
Apache自带的ab压力测试工具的实现
2022/07/23 Servers