接口是类可以做什么的契约。
当类实现接口时,它可以为接口中声明的所有抽象方法提供实现。接口定义了一组常见行为。类实现接口同意这些行为,并为行为提供自己的实现。
接口的主要用途之一是在两个对象之间提供通信协定。
如果我们知道一个类实现一个接口,那么我们就知道该类包含该接口中声明的方法的具体实现,并且可以保证安全地调用这些方法。换句话说,两个对象可以基于接口中定义的协定进行通信,而不是基于它们的特定实现。
Java不支持多重继承,多重继承允许我们从多个直接超类派生一个子类。如果两个直接超类具有冲突的实现,则会带来问题。Java通过允许我们实现多个接口来做到这一点。
由于接口仅包含抽象方法而没有实际实现,因此多个接口之间不会发生冲突。