相同点: 都是不断向上抽取而来。 不同点: 抽象类需要被继承,而且只能单继承。 接口需要被实现,而且可以多实现。抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法。 接口中只能定义抽象方法,必须由子类实现。抽象类的继承,是“is a”关系,在定义该体系的基本共性内容。 接口的实现,是“like a”关系,在定义体系的额外功能。