1 /**
2 * 问题描述:
3 * 我们需要抽取一个共有方法,用来解决两个默认方法之间重复代码的问题
4 * 但是这个共有方法不应该让实现类使用,应该是私有化的。
5 *
6 * 解决方案:
7 * 从java 9开始,接口当中允许定义私有方法。
8 * 1、普通私有方法,解决多个默认方法之间重复代码问题
9 * 格式:
10 * private 返回值类型方法名称(参数列表){
11 * 方法体
12 * }
13 * 2、静态私有方法,解决多个静态方法之间重复代码的问题
14 * 格式:
15 * private static 返回值类型 方法名称(参数列表){
16 * 方法体
17 * }
18 */
19 public interface MyInterfacePrivateA {
20
21 /*//private用法
22 public default void methodDefault1(){
23 System.out.println("默认方法1");
24 methodCommon();
25 }
26
27 public default void methodDefault2(){
28 System.out.println("默认方法2");
29 methodCommon();
30 }
31
32 private void methodCommon(){
33 System.out.println("AAA");
34 }*/
35
36 //static用法
37 public static void methodStatic1(){
38 System.out.println("静态方法1");
39 methodStaticCommon();
40 }
41
42 public static void methodStatic2(){
43 System.out.println("静态方法2");
44 methodStaticCommon();
45 }
46
47 private static void methodStaticCommon(){
48 System.out.println("AAA");
49 }
50 }