What's the difference between an interface and abstract class? (接口与抽象类有什么区别)


Posted in 面试题 onOctober 29, 2012

接口用于规范,抽象类用于共性。接口中只能声明方法,属性,事件,索引器。而抽象类中可以有方法的实现,也可以定义非静态的类变量。抽象类是类,所以只能被单继承,但是接口却可以一次实现多个。抽象类可以提供某些方法的部分实现,接口不可以.抽象类的实例是它的子类给出的。接口的实例是实现接口的类给出的。再抽象类中加入一个方法,那么它的子类就同时有了这个方法。而在接口中加入新的方法,那么实现它的类就要重新编写(这就是为什么说接口是一个类的规范了)。接口成员被定义为公共的,但抽象类的成员也可以是私有的、受保护的、内部的或受保护的内部成员(其中受保护的内部成员只能在应用程序的代码或派生类中访问)。此外接口不能包含字段、构造函数、析构函数、静态成员或常量。


Tags in this post...

面试题 相关文章推荐
名词解释WEB SERVICE,SOAP,UDDI,WSDL,JAXP,JAXM;JSWDL开发包的介绍。
Oct 27 面试题
华为慧通面试题
Sep 11 面试题
经典C++面试题一
Nov 06 面试题
汇智创新科技发展有限公司
Dec 06 面试题
北京RT科技有限公司.net工程师面试题
Feb 15 面试题
关于Assembly命名空间的三个面试题
Jul 23 面试题
诺思信科技(南京)有限公司.NET笔试题答案
Jul 06 面试题
什么情况下你必须要把一个类定义为abstract的
Jan 06 面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
May 03 面试题
linux比较文件内容的命令是什么
Mar 04 面试题
国外软件测试工程师面试题
Dec 09 面试题
Java基础面试题
Nov 02 面试题
亿阳信通股份有限公司C#笔试题
Dec 06 #面试题
C#面试常见问题
Feb 25 #面试题
What's the difference between deep copy and shallow copy? (深拷贝与浅拷贝有什么区别)
Nov 10 #面试题
override和overload的区别
Mar 09 #面试题
武汉瑞得软件笔试题
Oct 27 #面试题
What's the difference between Debug and Trace class? (Debug类与Trace类有什么区别)
Sep 10 #面试题
什么是索引指示器
Aug 20 #面试题
You might like
Classes and Objects in PHP5-面向对象编程 [1]
2006/10/09 PHP
一个可以删除字符串中HTML标记的PHP函数
2006/10/09 PHP
php下实现在指定目录搜索指定类型文件的函数
2008/10/03 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(一)
2014/06/23 PHP
PHP对象相关知识总结
2017/04/09 PHP
js获取IP地址的方法小结
2014/07/01 Javascript
JQuery动态添加和删除表格行的方法
2015/03/09 Javascript
javascript禁止访客复制网页内容的实现代码
2015/08/05 Javascript
JavaScript如何实现在文本框(密码框)输入提示语
2015/12/25 Javascript
jQuery设置Cookie及删除Cookie实例分析
2016/04/15 Javascript
JavaScript优化以及前段开发小技巧
2017/02/02 Javascript
js 实现省市区三级联动菜单效果
2017/02/20 Javascript
JavaScript的setter与getter方法
2017/11/29 Javascript
webpack将js打包后的map文件详解
2018/02/22 Javascript
vue2.0 可折叠列表 v-for循环展示的实例
2018/09/07 Javascript
Seajs源码详解分析
2019/04/02 Javascript
vue在线动态切换主题色方案
2020/03/26 Javascript
40行代码把Vue3的响应式集成进React做状态管理
2020/05/20 Javascript
简单了解vue 插值表达式Mustache
2020/07/22 Javascript
vue+elementUI中表格高亮或字体颜色改变操作
2020/11/02 Javascript
Vue使用Ref跨层级获取组件的步骤
2021/01/25 Vue.js
用matplotlib画等高线图详解
2017/12/14 Python
Python中装饰器高级用法详解
2017/12/25 Python
python3+PyQt5实现柱状图
2018/04/24 Python
Python中dict和set的用法讲解
2019/03/28 Python
Python 函数list&read&seek详解
2019/08/28 Python
Python Print实现在输出中插入变量的例子
2019/12/25 Python
pyinstaller打包成无控制台程序时运行出错(与popen冲突的解决方法)
2020/04/15 Python
Python 转移文件至云对象存储的方法
2021/02/07 Python
什么是数据抽象
2016/11/26 面试题
一月红领巾广播稿
2014/02/11 职场文书
端午节演讲稿
2014/05/23 职场文书
个人安全生产责任书
2014/07/28 职场文书
网站出售协议书范文
2014/10/10 职场文书
招商引资工作汇报
2014/10/28 职场文书
详解Vue项目的打包方式(生成dist文件)
2022/01/18 Vue.js