抽象类与接口的区别
抽象类
- 抽象类可以有构造方法
- 抽象类可以存在普通属性、方法 静态属性、方法
- 抽象类中可以存在抽象方法
- 如果一个类中有一个抽象方法,那么该类一定属于抽象类。
- 抽象类中不一定要有抽象方法
- 抽象类中的抽象方法需要由子类来实现。如果子类不实现,则子类也需要定义成抽象的。
接口
- 接口不能有构造方法。只能由方法的声明,不能有方法体
- 在接口中只有常量。因为定义的变量在编译的时候会自动加上:public static final
- 在接口中的方法永远都只能被public来修饰
- 接口可以实现多重继承
- 接口中定义的方法都需要有实现类来实现,如果实现类不能实现接口中所有的方法,那么要将该实现类定义成抽象类