abstract class和interface有什么区别?


Posted in 面试题 onJanuary 03, 2012
声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。
接 口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有 程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。 然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到 接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。

Tags in this post...

面试题 相关文章推荐
PHP高级工程师面试问题推荐
Jan 18 面试题
Tomcat中怎么使用log4j输出所有的log
Jul 07 面试题
什么是serialVersionUID
Mar 04 面试题
用C或者C++语言实现SOCKET通信
Feb 24 面试题
什么是makefile? 如何编写makefile?
Jan 02 面试题
如何开启linux的ssh服务
Feb 14 面试题
介绍一下linux文件系统分配策略
Feb 25 面试题
介绍一下Make? 为什么使用make
Jul 31 面试题
新媒传信软件测试面试题
Feb 24 面试题
广州足迹信息技术有限公司Java软件工程师试题
Feb 15 面试题
EJB面试题
Jul 28 面试题
Ajxa常见问题都有哪些
Mar 26 面试题
Java面试题及答案
Sep 08 #面试题
List、Map、Set三个接口,存取元素时,各有什么特点?
Sep 27 #面试题
xml有哪些解析技术?区别是什么
Apr 26 #面试题
说出ArrayList,Vector, LinkedList的存储性能和特性
Jan 04 #面试题
应用服务器有那些
Jan 19 #面试题
Java中实现多态的机制是什么?
Dec 07 #面试题
同步和异步有何异同,在什么情况下分别使用他们?举例说明
Feb 27 #面试题
You might like
基于PHP+MySQL的聊天室设计
2006/10/09 PHP
PHP 中的面向对象编程:通向大型 PHP 工程的办法
2006/12/03 PHP
php简单分页类实现方法
2015/02/26 PHP
PHP编写RESTful接口
2016/02/23 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
2017/10/24 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
用javascript将数据库中的TEXT类型数据动态赋值到TEXTAREA中
2007/04/20 Javascript
javascript:json数据的页面绑定示例代码
2014/01/26 Javascript
JS检测输入字符是否包含非法字符的示例代码
2014/02/11 Javascript
node.js中的fs.futimes方法使用说明
2014/12/17 Javascript
表单中单选框添加选项和移除选项
2016/07/04 Javascript
JS瀑布流实现方法实例分析
2016/12/19 Javascript
基于JavaScript实现验证码功能
2017/04/01 Javascript
Node.js中DNS模块学习总结
2018/02/28 Javascript
VUE重点问题总结
2018/03/19 Javascript
Node.Js中实现端口重用原理详解
2018/05/03 Javascript
vue+Element-ui实现分页效果实例代码详解
2018/12/10 Javascript
详解vue2.0模拟后台json数据
2019/05/16 Javascript
sortable+element 实现表格行拖拽的方法示例
2019/06/07 Javascript
记录vue做微信自定义分享的一些问题
2019/09/12 Javascript
Javascript中的this,bind和that使用实例
2019/12/05 Javascript
[01:34]2014DOTA2 TI预选赛预选赛 选手比赛房大揭秘!
2014/05/20 DOTA
pandas数据预处理之dataframe的groupby操作方法
2018/04/13 Python
详解Python3 基本数据类型
2019/04/19 Python
Python如何筛选序列中的元素的方法实现
2019/07/15 Python
python实现键盘输入的实操方法
2019/07/16 Python
Jupyter加载文件的实现方法
2020/04/14 Python
重写django的model下的objects模型管理器方式
2020/05/15 Python
python3爬虫GIL修改多线程实例讲解
2020/11/24 Python
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
汽车驾驶求职信
2013/10/25 职场文书
军训自我鉴定范文
2014/02/13 职场文书
党的群众路线教育实践活动批评与自我批评
2014/02/16 职场文书
2014年党风建设工作总结
2014/11/19 职场文书
六五普法学习心得体会
2016/01/21 职场文书
MySQL慢查询的坑
2021/04/28 MySQL