Java9允许我们在接口中使用private方法,这意味着不显式标记public方法不再是多余的。
不过,现在是否必须这样做呢?我希望规范仍然假定public abstract是方法的默认修饰符,以保持与早期源代码的向后兼容性?
发布于 2017-08-08 19:04:02
Java 9语言规范在第9.4节中说:
接口主体中的方法可以声明为
public或private(§6.6)。如果没有提供访问修饰符,则该方法是隐式public。允许为接口中的方法声明指定冗余的public修饰符,但从风格上讲,这是不可取的。
不幸的是,我找不到一个不会导致一份PDF文件,用于区分新旧JLS的链接。
发布于 2021-03-24 12:11:41
我学到的是:
接口中的所有成员都是隐式公共的,不能使用任何其他访问修饰符声明,除非在下面指定:
资料来源:蒂姆·布萨尔卡的学习编程学院。
还有一个非常清晰但有点长的解释:https://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html
https://stackoverflow.com/questions/45574205
复制相似问题