Java
9中的私有接口方法的行为与其他私有方法完全相同:它们必须具有主体(即使在抽象类中),并且不能被子类调用或覆盖。因此,它们实际上并没有与继承交互。说到哪种(尤其是多重继承),至少有三种:
- 的类型的继承 指一个类型可以 是 另一种类型的,例如
String
是一个Object
。Java从一开始就允许类型的多种继承(通过接口)。 - 行为的继承 意味着一种类型可以继承另一种类型的行为。在Java 8之前,只有类可以实现方法,因此只有这种单继承。Java 8附带了默认方法,该方法允许接口实现方法,从而为Java提供了行为的多重继承。
- 状态的继承 意味着一个类型继承另一个类型的内部状态(即字段)。就目前而言(Java 9以及当前为将来的Java版本提出的所有建议),只有类可以具有状态,因此只有这种单继承。
如您所见,私有接口方法在此处不添加任何内容。
关于接口和类如何比较的问题,有两个主要区别:多重继承和状态。接口支持前者,类可以具有后者。由于状态在典型的OOP中很重要,因此类将保持相关性。



