是的,我们可以在Java 9的接口中使用私有方法或私有静态方法。我们可以使用这些方法来消除代码冗余。私有方法只能在该接口内有用或可访问。我们不能从一个接口访问或继承私有方法到另一个接口或类。
语法interface {
private static void methodName() {
//一些陈述
}
private void methodName() {
//一些陈述
}
}
示例interface Java9Interface {
public abstract void method1();
public default void method2() {
method4();
method5();
System.out.println("Inside default method");
}
public static void method3() {
method5(); // static method inside other static method System.out.println("Inside static method");
}
private void method4() { // private method System.out.println("Inside private method");
}
private static void method5() { // private static method System.out.println("Inside private static method");
}
}
public class PrivateStaticMethodTest implements Java9Interface {
@Override
public void method1() {
System.out.println("Inside abstract method");
}
public static void main(String args[]) {
Java9Interface instance = new PrivateStaticMethodTest();
instance.method1();
instance.method2();
Java9Interface.method3();
}
}
输出结果Inside abstract method
Inside private method
Inside private static method
Inside default method
Inside private static method
Inside static method