抽象类和接口的区别

接口
接口是一种规范,是功能的集合。
接口中定义功能名,具体实现在子类中,这种把功能的定义和实现分离,降低了程序的耦合性。

抽象类:
从普通类中提取相同的方法名,但是具体方法实现又不相同。这种情况可以定义抽象类。
抽象类他定义的是一类事物的抽象。抽象类和子类之间是是不是的关系,而接口和其子类之间是有没有的关系,若一个继承了抽象类,则必定是抽象类的种类,而接口实现时代表有没有,具不具备的关系。例如鸟类是否能飞(具备飞这特性),若实现了飞行接口,则代表具有飞行特性,否则不具备