什么是接口(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 session
Apr 21 面试题
Eclipse面试题
Mar 22 面试题
什么是类的返射机制
Feb 06 面试题
益模软件Java笔试题
Mar 27 面试题
main 函数执行以前,还会执行什么代码
Apr 17 面试题
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
Feb 22 面试题
C#实现对任一张表的数据进行增,删,改,查要求,运用Webservice,体现出三层架构
Jul 11 面试题
什么是Linux虚拟文件系统VFS
Aug 25 面试题
linux面试相关问题
Aug 11 面试题
Linux上比较文件的命令都有哪些
Feb 24 面试题
软件测试面试题
Oct 21 面试题
Static Nested Class 和 Inner Class的不同
Nov 28 面试题
你常见到的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和XSL stylesheets转换XML文档
2006/10/09 PHP
php中有关合并某一字段键值相同的数组合并的改进
2015/03/10 PHP
PHP钩子与简单分发方式实例分析
2017/09/04 PHP
PHP程序员学习使用Swoole的理由
2018/06/24 PHP
脚本吧 - 幻宇工作室用到js,超强推荐expand.js
2006/12/23 Javascript
js获取下拉列表框中的value和text的值示例代码
2014/01/11 Javascript
基于javascript实现判断移动终端浏览器版本信息
2014/12/09 Javascript
QQ登录背景闪动效果附效果演示源码下载
2015/09/22 Javascript
Angular2中Bootstrap界面库ng-bootstrap详解
2016/10/18 Javascript
利用vue.js插入dom节点的方法
2017/03/15 Javascript
Angular 4 指令快速入门教程
2017/06/07 Javascript
详解vue-router 路由元信息
2017/09/13 Javascript
jQuery中过滤器的基本用法示例
2017/10/11 jQuery
jQuery 操作 HTML 元素和属性的方法
2018/11/12 jQuery
微信小程序canvas实现签名功能
2021/01/19 Javascript
Python的re模块正则表达式操作
2016/05/25 Python
python3中int(整型)的使用教程
2017/03/23 Python
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
2018/06/04 Python
使用python3实现操作串口详解
2019/01/01 Python
Mac 使用python3的matplot画图不显示的解决
2019/11/23 Python
Django实现celery定时任务过程解析
2020/04/21 Python
python自定义函数def的应用详解
2020/06/03 Python
浅谈cookie和localStorage那些事
2019/08/27 HTML / CSS
前端实现背景虚化但内容清晰且自适应 的实例代码
2019/08/01 HTML / CSS
德国的大型美妆个护电商:Flaconi
2020/06/26 全球购物
销售心得体会
2014/01/02 职场文书
销售人员获奖感言
2014/02/05 职场文书
《孔子游春》教学反思
2014/02/25 职场文书
党支部公开承诺践诺书
2014/03/28 职场文书
工作失误检讨书(3篇)
2014/10/11 职场文书
人身损害赔偿协议书格式
2014/11/01 职场文书
财政局长个人总结
2015/03/04 职场文书
2015年学校政教处工作总结
2015/05/26 职场文书
单位工资证明范本
2015/06/12 职场文书
2016中考冲刺决心书
2015/09/22 职场文书
redis连接被拒绝的解决方案
2021/04/12 Redis