使用上
继承:使子类具备相同的特征,子类和子类之间存在关联。
接口:使两个毫不相关的类具备相同的特性。
例:动物类可以让其子类,如人类具备跑的能力;接口可以使两个毫不相关的类具备相同的特性,如人类和植物类同时具备生存,死亡等能力。此时使用继承的话,每个父类都需要写出对应方法(两份,如果类多会写更多);如果用接口则只需要写一次,其他类继承即可。
作用上
继承的价值主要在于解决代码的复用性和可维护性。
接口的价值主要在于设计,设计好各种规范(方法),让其它类去实现这些方法。
关系上
继承中的父类和子类的关系:父与子的关系。
接口中实现类和接口的关系:师傅与学生的关系。
例:继承就是父母遗传给孩子的东西(天生就有的),接口就是老师教给孩子的东西(后加的)。