抽象类和接口的区别

相同:

都是不断抽象出来的抽象概念。

不同:

语法层面:

1、抽象类使用关键字 abstract,子类通过extends来继承;接口使用关键字interface,实现类通过implements来实现。

2、抽象类可以有具体的实现;而接口没有具体的实现,在JDK1.8中可以定义default方法体。

3、一个类只能继承一个抽象方法,但是可以实现多个接口。

4、抽象类中的成员变量可以是各种类型的,而接口只能是public statis final。

5、抽象类中的成员方法可以是各种类型的,而接口只能是public abstract;

6、抽象类中可以有静态方法和静态代码块,接口不能。

7、抽象类可以有构造方法;接口没有构造方法。

设计层面:

1、抽象类是对对象的抽象,是一种模板设计;接口是一种规范,是对行为的抽象。

2、抽象类强调所属关系;而接口强调特定功能的实现。

  

posted @ 2022-12-11 04:13  Amireux-126  阅读(28)  评论(0)    收藏  举报