相同点:
①:两者都不能实例化。
②:可以拥有抽象方法。
区别:
①抽象类定义的关键字:abstract class ,接口定义的关键字是 interface。
②抽象类可以有(静态变量、常量、成员变量) ,接口只能有常量。
③抽象方法可以有普通方法,接口在jdk1.8之前只能有抽象方法(1.8之后增添了静态方法和默认方法)。
④抽象方法可以有构造方法,接口不可以有构造方法。
⑤一个类只能单继承一个父类,而一个接口可以继承多个父接口。同时,一个类可以实现多个接口却没有实现多个父类这种情况。
⑥抽象类相当于模板,你可以在模板上拓展。接口相当于各个模块,你可以将它们组合起来