- 定义方面,抽象类:包含一个抽象方法的类。
接口:由全局常量和公共抽象方法组成。 - 抽象类只能继承(extends),接口只能实现(implement)。
- 接口不能继承抽象类(要继承抽象类就要覆写抽象类里面的方法,抽象方法中可以有方法体,接口中的抽象方法是没有方法身体的,所以这一点上就不能继承。),但允许实现多个接口。抽象类能实现多个接口(抽象类实现接口,可以完全覆盖/重写 接口中的方法,也可只重写接口中的某几个方法)。
4.抽象类有单继承的局限,接口没有局限。
5 如果抽象类和接口都可以使用,则优先使用接口,避免单继承的局限。
6.一个抽象类中可以包含多个接口(可在抽象类中定义多个接口),一个接口 可以包含多个抽象类(可在接口中定义多个抽象类)。
7.组成:抽象类:构造方法、抽象方法、普通方法、常量、变量。
接口:常量、抽象方法。