1. 接口的基本概念
1.1. 接口就是一种比抽象类还抽象的类,体现在所有方法都为抽象方法。
1.2. 定义类的关键字是class,而定义接口的关键字是interface。
2. 类和接口之间的关系
关系 |
关系 |
|
类和类之间的关系 |
使用extends关键字表达继承关系 |
支持单继承 |
类和接口之间的关系 |
使用implements关键字表达实现关系 |
支持多实现 |
接口和接口之间的关系 |
使用extends关键字表达继承关系 |
支持多继承 |
3. 抽象类和接口的主要区别(笔试题)
3.1. 定义抽象类的关键字是abstract class,而定义接口的关键字是interface。
3.2. 继承抽象类的关键字是extends,而实现接口的关键字是implements。
3.3. 继承抽象类支持单继承,而实现接口支持多实现。
3.4. 抽象类中可以有构造方法,而接口中不可以有构造方法。
3.5. 抽象类中可以有成员变量,而接口中只可以有常量。
3.6. 抽象类中可以有成员方法,而接口中只可以有抽象方法。
3.7. 抽象类中增加方法时子类可以不用重写,而接口中增加方法时实现类需要重写(Java8以前的版本)。
3.8. 从Java8开始增加新特性,接口中允许出现非抽象方法和静态方法,但非
3.9. 抽象方法需要使用default关键字修饰。
3.10. 从Java9开始增加新特性,接口中允许出现私有方法。