不同点
- 抽象类可以定义构造器,而接口中不能定义构造器。
- 子类要使用extends 关键字来继承抽象类,而实现接口则通过implements关键字。
- 一个类只能继承一个抽象类,而一个类却可以实现多个接口
- 抽象类中的成员可以是private、protected、public, 而接口中的成员全都是public。
- 抽象类中可以包含静态方法,而接口中不能包含静态方法。
- 抽象方法可以有 main 方法,而接口没有 main 方法。
相同点
- 抽象类和接口都不能实例化。
- 可以将抽象类和接口类型作为引用类型。
- 一个类如果继承了某个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实现。