Java 9允许我们在接口中拥有private
方法,这意味着不必显式标记public
方法不再是多余的。
然而,现在是否有必要这样做?我希望规范仍然将public abstract
作为默认修饰符,以保持向后兼容性和之前的源代码一致性。
public
或private
(§6.6)。如果没有给出访问修饰符,则该方法隐式地是public
。允许但不建议在一个接口方法声明中冗余地指定public
修饰符,这是一种风格上的问题。我所学到的:
接口中的所有成员都是隐式公共的,不能使用其他访问修饰符进行声明,除非在下面特别指定:
来源:Tim Buschalka 的 Learn Programming Academy
此外,有一个非常清晰但有点长的解释:https://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html