抽象类:顾名思义也是一个类,是由abstract class关键字定义的一个类,所以他只能继承一个class类,可以定义成员变量,也可通过final关键字定义常量使之值不能被改变,类中可以定义抽象方法,以及普通方法和构造方法,可以使用任意访问修饰符。
接口:使用interface关键字定义的,他不是一个类,它可以通过implements关键字实现多个接口,并且接口与接口之间可以多重继承。它不能定义成员变量,只能定义常量,可以定义抽象方法,或者通过default方法定义普通方法(注意:只有JDK1.8及其高级版本可以使用)。不允许使用构造方法,只能通过public访问修饰符。