普通类和抽象类的区别
- 普通类可以有普通方法,不能有抽象方法;抽象类可以有普通方法和抽象方法
- 普通类可以实例化,抽象类不能实例化
- 普通类必须实现抽象类的抽象方法
抽象类和接口类的区别
- 抽象类和接口类都可以有抽象方法,接口类不能有普通方法
- jdk8以后抽象类和接口类都可以有默认方法
- 抽象类和接口类都不能被实例化
- 普通类用extends继承抽象类,普通类用implements实现接口类
- 抽象类可以有构造方法,接口类不能有构造方法
- 抽象类方法可以用任意修饰符修饰,接口只能是public
- 一个类能实现多个接口,但只能继承一个抽象类