抽象类和普通类:
1、抽象类不能被实例化
2、抽象类可以有抽象方法,抽象方法只需申明,无需实现
3、含有抽象方法的类必须申明为抽象类
4、抽象类的子类必须实现抽象类中所有抽象方法,否则这个子类也是抽象类
5、抽象方法不能被声明为静态
6、抽象方法不能用 private 修饰
7、抽象方法不能用 final 修饰
抽象类和接口:
抽象类和接口,首先抽象类虽然抽象但是仍旧属于类,只能继承使用。接口属于规范,只能被实现使用。它们都不可以单独实例化(也就是不可以直接 new)。
抽象类里可以有非抽象方法,但是接口不可以。
抽象类允许有自己的构造器。接口不可以。
抽象类中可以包含非抽象普通方法;JDK1.8 以前接口中的所有方法默认都是抽象的,JDK1.8 开始方法可以有 default 实现和 static 方法。