参考答案
接口和抽象类的区别,主要有五个:
1. 构造方法
- 抽象类可以有构造方法。
- 接口中不能有构造方法。
2. 普通成员变量
- 抽象类中可以有普通成员变量。
- 接口中没有普通成员变量。
3. 非抽象普通方法
- 抽象类中可以包含非抽象普通方法。
- JDK1.8 以前接口中的所有方法默认都是抽象的,JDK1.8 开始方法可以有 default 实现和 static 方法。
4. 访问权限
- 抽象类中的抽象方法的访问权限可以是 public、protected 和 default。
- 接口中的抽象方法只能是 public 类型的,并且默认即为 public abstract 类型。
5. 静态方法
- 抽象类中可以包含静态方法。
- JDK1.8 前接口中不能包含静态方法,JDK1.8 及以后可以包含已实现的静态方法。
以上,是Java面试题【接口和抽象类的区别是什么】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—