默认接口方法的帮助程序函数



我需要合并一些辅助方法来协助Java 8上默认的接口方法 - 以便更好地组织代码。
因此,唯一可用的选择似乎是用'static'来限定它们 - 从而使它们暴露在外部。
有没有更好的方法来实现这一目标 - 迁移到Java 9不是一种选择。

如果升级到更新的版本是您的一个选项,您实际上可以在界面中使用private方法

在 Java 9 及更高版本中,接口允许私有(非抽象(方法。请参阅 JSL 9.4:

接口主体中的方法可以声明为publicprivate(§6.6(。如果未给出访问修饰符,则隐式public该方法...

这些私有方法也可能是静态的(同一来源(:

。接口方法声明允许同时包含私有和静态。


如果你必须留在Java 8上,你可以使用包私有类和方法(是的,这不是该类型的私有,但包私有是更好的选择(

public interface Interface {
default void doSomething() {
InterfaceHelper.doSomething();
}
}
class InterfaceHelper {
static void doSomething() { //package-private class and method
}
}

相关内容

  • 没有找到相关文章

最新更新