从Java 9开始接口中允许定义私有方法
- 只对接口定义中的default、static有用,因为只有这两才能在接口中写内容。
- 普通私有方法,解决多个默认方法之间代码重复的问题
格式:
private 返回值类型 方法名称(参数列表){
//方法体
}
- 静态私有方法,解决多个静态方法之间代码重复的问题
格式:
private static 返回值类型 方法名称(参数列表){
//方法体
}
- 实例:
public interface MyInterfaceDefaultPrivate {
public default void method01(){
System.out.println("默认方法1");
methodCommon();
}
public default void method02(){
System.out.println("默认方法2");
methodCommon();
}
private void methodCommon(){
System.out.println("AAA");
System.out.println("BBB");
System.out.println("CCC");
}
}
public class MyInterfaceDefaultPrivateImpl implements MyInterfaceDefaultPrivate {
}
public interface MyInterfaceStaticPrivate {
public static void method01(){
System.out.println("静态方法1");
methodCommon();
}
public static void method02(){
System.out.println("静态方法2");
methodCommon();
}
private static void methodCommon(){
System.out.println("AAA");
System.out.println("BBB");
System.out.println("CCC");
}
}
public class Demo04Interface {
public static void main(String[] args) {
MyInterfaceDefaultPrivateImpl impl01 = new MyInterfaceDefaultPrivateImpl();
impl01.method01();
impl01.method02();
MyInterfaceStaticPrivate.method01();
MyInterfaceStaticPrivate.method02();
}
}