抽象类(abstract class)和接口(interface)的异同

不同点:

1.接口只有方法定义,没有具体的实现,实现接口的类要实现接口的所有方法;抽象类可以有定义与实现;

2.接口与类是实现关系,并且类可以多实现;抽象类与类是继承关系,只能被一个类继承。

3.接口中成员全为public, 抽象类中可以有抽象方法,也可以没有,抽象方法需加abstract

4.接口中无静态方法,抽象类中可以有。

5.接口中不能定义构造器,抽象类中可以。

相同点:

1.都不能被实例化

2.可以将抽象类和接口类型作为引用类型

3.一个类如果实现接口或继承抽象类,必须实现全部抽象方法,否则仍然是个抽象类

posted @ 2021-03-14 17:57  赵薇0721  阅读(91)  评论(0编辑  收藏  举报