接口中需要私有静态方法 - Java 9

Need for private static methods in interfaces - Java 9

Java 9 新增两个接口

现在,我需要接口中的私有方法。您想在界面内使用该方法,但不希望从界面外访问它。

我也理解 私有静态方法 在 Java classes 中的使用。您希望它是 private,这样它只能从 class 和 static 内部访问,这样它就可以在没有初始化 class.

的情况下使用

那么,接口中私有静态方法的目的是什么?考虑到这一点,您可以通过接口中的私有方法实现可访问性部分,并且接口无论如何都可以不初始化,因此不需要它是静态的。

接口中的私有方法私有静态方法有什么区别。此外,接口中的私有静态方法有什么用?

当您有多个 public 共享一些公共代码的静态方法时,私有静态方法很有用。因此,您只能将共享代码提取到静态方法中,而不能提取到实例方法中。

interface Example {

    static void doJob1(String arg) {
        verifyArg(arg);
        ...
    }

    static void doJob2(String arg) {
        verifyArg(arg);
        ...
    }

    private static void verifyArg(String arg) {
        ...
    }
}