Java 界面说明

Java Interface Clarification

我对 Oracle Java 文档 here 中标题 Interfaces In Java 中的一行感到困惑,它说:

Method bodies exist only for default methods and static methods.

由于我们不能在接口中定义方法body,我很困惑这行是否有其他含义。如果有人body 可以帮助我理解这一点,我将不胜感激。

在 Java8 中,接口可能包含其方法的默认实现,以及已实现的静态方法。

Default methods and static methods 是 java8 的新功能。在 java8 之前,无法在接口中定义 then。

例如,默认方法具有使用其他新方法更改扩展接口(在继承意义上没有)的好处,因为您必须使用默认方法体,这样现有的实现才不会被破坏。

接口中的静态方法例如有以下好处:无需创建其他 类(例如 utility/helper 类),唯一的目的就是工作在该接口的实例上。