回答思路
不同, 抽象类是用来捕捉子类的通用特性的。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。 接口是抽象方法的集合。如果一个类实现了某个接口,那么它就继承了这个接口的抽象方法。 抽象类和接口的对比: 什么时候使用抽象类和接口: 如果拥有一些方法并且想让它们中的一些有默认实现,使用抽象类。 如果想实现多重继承,必须使用接口。由于Java不支持多继承,子类不能够继承多个类,但可以实现多个接口。 如果基本功能在不断改变,那么就需要使用抽象类。如果不断改变基本功能并且使用接口,那么就需要改变所有实现了该接口的类。