抽象类和接口的异同点

Posted Kkky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了抽象类和接口的异同点相关的知识,希望对你有一定的参考价值。

相同点:
都是不断向上抽取而来的。

不同点:
1,抽象类需要被继承,而且只能单继承。
    接口需要被实现,而且可以多实现。
2,抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法。
    接口中只能定义抽象方法,必须由子类去实现。
3,抽象类的继承,*是is a关系*,在定义该体系的基本共性内容
    接口的实现是 *like a 关系*,在定义体系额外功能

举一个简单的例子:

犬按功能分:有导盲犬,搜爆犬。

 1 abstract class 2 {
 3     abstract void 吼叫();
 4 }
 5 
 6 interface 导盲
 7 {
 8     abstract void 导盲();
 9 }
10 
11 
12 class 导盲犬 extendsimplements 导盲
13 {
14     public void 吼叫()
15     {
16     }
17     public void 导盲(){}
18 }

 

以上是关于抽象类和接口的异同点的主要内容,如果未能解决你的问题,请参考以下文章

JAVA---抽象类和接口基础知识详解(及两者异同点)

抽象类和接口的异同点

PHP中接口与抽象类的异同点有哪些

抽象类和接口的异同

java中接口和抽象类的异同点

java面试基础题------》抽象类和接口有什么异同