接口和抽象类的区别
- 修饰的关键字不同:接口interface,抽象类abstract class
- 抽象类本质也是一个类,某个类只能只能继承一个抽象类(类的单继承),但可以实现多个接口
- 抽象类只能继承于一个类,但接口可以继承多个接口(类单继承,接口多继承)
- 抽象类中的可以有抽象方法和普通方法,接口中除了默认方法(default)都是抽象方法(public abstract)
- 抽象类中的属性同普通类的属性,接口中的属性默认都是public static final(常量)
- 抽象类有构造方法,而接口没有(所以接口中的属性都是常量->不需要初始化)