1.abstract使用场景 abstract提供了一套功能代码,这套功能代码可以直接用,也可以细微的改变,但是abstract不希望这套功能都改变了,这可能是一套标准功能。 2.interface使用场景 interface不提供任何功能,提供协议解耦协作开发。 3.总结 abstract更倾向于提供一套模板。interface更倾向于提供一套协议,有一种“我先用了,你什么时候实现我不关心”的感觉,可以把一堆类抽象出来,实际运行的时候再决定是哪一个类。