java接口的私有方法定义

java接口的私有方法定义

问题描述:

我们需要抽取一个共有方法,用来解决两个默认方法之间重复代码的问题。
但是这个共有方法不应该让实现类使用,应该是私有化的。

解决方案:

从Java 9开始,接口当中允许定义私有方法。

普通私有方法,解决多个默认方法之间重复代码问题

格式:

1
2
3
private 返回值类型 方法名称(参数列表) {
方法体
}

静态私有方法,解决多个静态方法之间重复代码问题

格式:

1
2
3
private static 返回值类型 方法名称(参数列表) {
方法体
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package cn.itcast.day10.demo01;

public interface MyInterfacePrivateA {

public default void methodDefault1() {
System.out.println("默认方法1");
methodCommon();
}

public default void methodDefault2() {
System.out.println("默认方法2");
methodCommon();
}

private void methodCommon() {
System.out.println("AAA");
System.out.println("BBB");
System.out.println("CCC");
}

}