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

面试题 相关文章推荐
局部内部类是否可以访问非final变量?
Apr 20 面试题
包装类的功能、种类、常用方法
Jan 27 面试题
Java里面如何创建一个内部类的实例
Jan 19 面试题
经典c++面试题二
Aug 14 面试题
在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern "C"
Aug 09 面试题
介绍一下Transact-SQL中SPACE函数的用法
Sep 01 面试题
请解释流与文件有什么不同
Jul 29 面试题
一套比较完整的软件测试人员面试题
May 13 面试题
测试驱动开发的主要步骤是什么
Dec 10 面试题
请用Java实现列出某个目录下的所有文件
Sep 23 面试题
中科前程Java笔试题
Nov 20 面试题
正隆泰信息技术有限公司上机题
Jun 14 面试题
你常见到的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中防止恶意刷新页面的代码小结
2012/10/31 PHP
php使用GD库创建图片缩略图的方法
2015/06/10 PHP
php中分页及SqlHelper类用法实例
2017/01/12 PHP
php封装的page分页类完整实例代码
2020/02/01 PHP
关于JavaScript的with 语句的使用方法
2011/05/09 Javascript
IE与Firefox在JavaScript上的7个不同句法分享
2011/10/30 Javascript
jquery弹出框的用法示例(一)
2013/08/26 Javascript
jquery自动切换tabs选项卡的具体实现
2013/12/24 Javascript
jQuery中多个元素的Hover事件解决方案
2014/06/12 Javascript
javascript闭包的理解
2015/04/01 Javascript
分享几种比较简单实用的JavaScript tabel切换
2015/12/31 Javascript
Bootstrap学习笔记之css样式设计(1)
2016/06/07 Javascript
基于zepto.js简单实现上传图片
2016/06/21 Javascript
Bootstrap table右键功能实现方法
2017/02/20 Javascript
原生javascript上传图片带进度条【实例分享】
2017/04/06 Javascript
Vue.js组件实现选项卡以及切换特效
2019/07/24 Javascript
wepy--用vantUI 实现上弹列表并选择相应的值操作
2020/11/03 Javascript
JavaScript十大取整方法实例教程
2020/12/03 Javascript
vue中axios封装使用的完整教程
2021/03/03 Vue.js
Python中encode()方法的使用简介
2015/05/18 Python
Ubuntu16.04/树莓派Python3+opencv配置教程(分享)
2018/04/02 Python
Python使用selenium + headless chrome获取网页内容的方法示例
2019/10/16 Python
Python基于template实现字符串替换
2020/11/27 Python
HTML5新标签兼容——> 的两种方法
2018/09/12 HTML / CSS
无谷物狗粮:Pooch & Mutt
2018/05/23 全球购物
德国滑雪和户外用品网上商店:XSPO
2019/10/30 全球购物
商务助理求职信范文
2014/04/20 职场文书
委托书范本
2014/09/13 职场文书
群众路线个人剖析材料及整改措施
2014/11/04 职场文书
2014年环境卫生工作总结
2014/11/24 职场文书
学校2014年度工作总结
2014/12/06 职场文书
房地产销售助理岗位职责
2015/04/14 职场文书
2015小学语文教师个人工作总结
2015/05/20 职场文书
成绩单家长意见
2015/06/03 职场文书
车间安全生产管理制度
2015/08/06 职场文书
PyQt5 显示超清高分辨率图片的方法
2021/04/11 Python