Java 9允许我们在接口中使用private
方法,这意味着不明确标记public
方法不再是多余的。
但是,现在必须这样做吗?我希望规范仍假定public abstract
作为维护与早期源代码向后兼容的方法的默认修饰符?
答案 0 :(得分:8)
Java 9语言规范在§9.4::
中说接口主体中的方法可以声明为
public
或private
(第6.6节)。如果未给出访问修饰符,则该方法隐式public
。允许但不鼓励作为样式,为接口中的方法声明冗余指定public
修饰符。
很遗憾,我找不到不会导致a PDF, diffing the old and new JLS的链接。
答案 1 :(得分:1)
我学到了什么:
接口中的所有成员都是隐式公开的,不能声明 与任何其他访问修饰符,除非在下面指定:
来源:Tim Buschalka 的学习编程学院
还有一个非常清晰但有点长的解释:https://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html