面试题:接口和抽象类的区别
2008-12-25 12:01
218 查看
区别一,两者表达的概念不一样。抽象类是一类事物的高度聚合,那么对于继承抽象类的子类来说,对于抽象类来说,属于“是”的关系;而接口是定义行为规范,因此对于实现接口的子类来说,相对于接口来说,是“行为需要按照接口来完成”。
区别二,抽象类在定义类型方法的时候,可以给出方法的实现部分,也可以不给出;而对于接口来说,其中所定义的方法都不能给出实现部分。
区别三,继承类对于两者所涉及方法的实现是不同的。继承类对于抽象类所定义的抽象方法,可以不用重写,也就是说,可以延用抽象类的方法;而对于接口类所定义的方法或者属性来说,在继承类中必须要给出相应的方法和属性实现。
区别四,在抽象类中,新增一个方法的话,继承类中可以不用作任何处理;而对于接口来说,则需要修改继承类,提供新定义的方法。
如下给出两者的简单对比表格。
/article/5628739.html
区别二,抽象类在定义类型方法的时候,可以给出方法的实现部分,也可以不给出;而对于接口来说,其中所定义的方法都不能给出实现部分。
区别三,继承类对于两者所涉及方法的实现是不同的。继承类对于抽象类所定义的抽象方法,可以不用重写,也就是说,可以延用抽象类的方法;而对于接口类所定义的方法或者属性来说,在继承类中必须要给出相应的方法和属性实现。
区别四,在抽象类中,新增一个方法的话,继承类中可以不用作任何处理;而对于接口来说,则需要修改继承类,提供新定义的方法。
如下给出两者的简单对比表格。
接口 | 抽象类 | |
多继承 | 支持 | 不支持 |
类型限制 | 没有 | 有,只能是引用类型 |
方法实现 | 继承类型中必须给出方法实现 | 继承类中可以不给出 |
扩展性 | 比较麻烦 | 相对比较灵活 |
多层继承 | 比较麻烦,需要借助虚函数 | 比较灵活 |
相关文章推荐
- 面试题--抽象类和接口的区别
- 面试题之——抽象类(abstract class)与接口(interface)的区别
- 面试题-抽象类与接口的区别
- 面试题_抽象类和接口的区别
- 面试题:接口和抽象类的区别
- 面试题-抽象类与接口的区别
- 面试题:接口和抽象类的区别
- 面试题:接口和抽象类的区别 转自http://www.cnblogs.com/roky/archive/2008/02/21/1076332.html
- 经典面试题 详细解析Java中抽象类和接口的区别
- 面试题-接口和抽象类的区别
- 面试题:接口与抽象类的区别
- 面试题:接口和抽象类的区别
- Java基础面试题一:请说说抽象类和接口的区别?
- 关于Java中抽象类和接口的区别(阿里巴巴的电话面试题)
- 面试题之——抽象类(abstract class)与接口(interface)的区别
- 转载]:[面试题:接口和抽象类的区别
- 面试题:接口和抽象类的区别
- java常见面试题 抽象类和接口的区别
- 详解java中的抽象类和接口的区别-isp(接口分离原则)——巨龙面试题
- 面试题:接口和抽象类的区别 转自http://www.cnblogs.com/roky/archive/2008/02/21/1076332.html