接口是一种特殊形式的抽象类,使用接口完全有可能实现与抽象类相同的操作,但一般而言,抽象类多用于在同类事物中有无法具体描述的方法的场景,所以,当子类和
父类之间存在由逻辑上的层次结构时,推荐使用抽象类,而接口多用于不同类之间,定义不同类之间的通信规则,所以,当希望支持差别较大的两个或者更多对象之间的特定
交互时,应该使用接口。使用接口能大大降低软件系统的耦合度。