- 抽象类与接口之间的区别:
- 定义类型:
a : 抽象类 : 使用class关键字定义
b : 接口 : 使用interface关键字定义
- 抽象方法:
a : 抽象类 : 可以包含抽象方法, 也可以没有抽象方法
b : 接口 : 接口中可以定义方法类型, 根据JDK版本决定, 目前接口中全部都是抽象方法
- 组成方面:
a : 抽象类 : 成员变量, 方法, 构造, 抽象方法
b : 接口 : 成员常量(public static final), 抽象方法
注意;jdk8之后,接口中可以实现非抽象方法,使用static(不能和abstract同时使用) 或者 default。
- 与类之间关系:
a : 抽象类 : 类与类之间关系, 继承关系, extends关键字实现, 只能是单继承
b : 接口 : 类与接口之间关系, 实现关系, implements关键字, 可以多实现