栏目:JDK9 新特性 作者:admin 日期:2017-10-15 评论:0 点击: 1,855 次
Java 8 为我们带来了接口的默认方法。 接口现在也可以包含行为,而不仅仅是方法签名。 但是,如果在接口上有几个默认方法,代码几乎相同,会发生什么情况? 通常,您将重构这些方法,调用一个可复用的私有方法。 但默认方法不能是私有的。 将复用代码创建为一个默认方法不是一个解决方案,因为该辅助方法会成为公共API的一部分。 使用 Java 9,您可以向接口添加私有辅助方法来解决此问题:
1 2 3 4 5 6 7 |
public interface MyInterface { void normalInterfaceMethod(); default void interfaceMethodWithDefault() { init(); } default void anotherDefaultMethod() { init(); } // This method is not part of the public API exposed by MyInterface private void init() { System.out.println("Initializing"); } } |
如果您使用默认方法开发 API ,那么私有接口方法可能有助于构建其实现。
------====== 本站公告 ======------
金丝燕网,一个严谨的网站!