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

面试题 相关文章推荐
写出二分查找算法的两种实现
May 13 面试题
SQL Server的固定数据库角色都有哪些?对应的服务器权限有哪些?
May 18 面试题
.NET remoting中对象激活的两种方式
Jun 08 面试题
.NET常见笔试题集
Dec 01 面试题
C#面试题问题集
Apr 02 面试题
Linux上比较文件的命令都有哪些
Sep 28 面试题
易程科技软件测试笔试
Mar 24 面试题
MYSQL支持事务吗
Aug 09 面试题
过滤器的用法
Oct 08 面试题
Java程序员面试题
Sep 27 面试题
北京振戎融通Java面试题
Sep 03 面试题
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
Oct 22 面试题
你常见到的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 彩色文字实现代码
2009/06/29 PHP
ThinkPHP模板之变量输出、自定义函数与判断语句用法
2014/11/01 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
2016/03/18 PHP
PHP长连接实现与使用方法详解
2018/02/11 PHP
ThinkPHP5&5.1框架关联模型分页操作示例
2019/08/03 PHP
在 Laravel 中动态隐藏 API 字段的方法
2019/10/25 PHP
什么是JavaScript
2009/08/13 Javascript
javascript 数组排序函数sort和reverse使用介绍
2013/11/21 Javascript
jQuery操作CheckBox的方法介绍(选中,取消,取值)
2014/02/04 Javascript
$("").click与onclick的区别示例介绍
2014/09/25 Javascript
js实现双击图片放大单击缩小的方法
2015/02/17 Javascript
两种js监听滚轮事件的实现方法
2016/05/13 Javascript
Nodejs下DNS缓存问题浅析
2016/11/16 NodeJs
移动前端图片压缩上传的实例
2017/12/06 Javascript
AngularJS标签页tab选项卡切换功能经典实例详解
2018/05/16 Javascript
bootstrap 路径导航 分页 进度条的实例代码
2018/08/06 Javascript
原生JS实现多条件筛选
2020/08/19 Javascript
python算法学习之桶排序算法实例(分块排序)
2013/12/18 Python
CentOS中使用virtualenv搭建python3环境
2015/06/08 Python
python生成器表达式和列表解析
2016/03/10 Python
Python的string模块中的Template类字符串模板用法
2016/06/27 Python
Python基于分水岭算法解决走迷宫游戏示例
2017/09/26 Python
pandas DataFrame数据转为list的方法
2018/04/11 Python
Python中实例化class的执行顺序示例详解
2018/10/14 Python
解决Django migrate不能发现app.models的表问题
2019/08/31 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
keras实现多种分类网络的方式
2020/06/11 Python
HTML5实现预览本地图片
2016/02/17 HTML / CSS
美国著名的婴儿学步鞋老品牌:Robeez
2016/08/20 全球购物
若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedException?
2016/10/17 面试题
同步和异步有何异同,在什么情况下分别使用他们
2013/04/09 面试题
体育教师自荐信范文
2013/12/16 职场文书
运动会广播稿200米
2014/01/27 职场文书
退休教师欢送会致辞
2015/07/31 职场文书
市语委办2016年第十九届“推普周”活动总结
2016/04/05 职场文书
使用CSS自定义属性实现骨架屏效果
2022/06/21 HTML / CSS