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

Ani*_*aul 6 java interface java-9

Java 9对接口增加了两个新功能

  • 私人方法
  • 私有静态方法

现在,我得到了需要私有方法接口。您想在接口内部使用该方法,但不希望从接口外部对其进行访问。

我也了解Java 私有静态方法的使用。您希望它是私有的,以便只能从类内部和static内部访问它,以便可以在不初始化类的情况下使用它。

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

接口中的私有方法私有静态方法有什么区别?此外,接口中对私有静态方法有何需求?

Zhe*_*lov 4

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

interface Example {

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

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

    private static void verifyArg(String arg) {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)