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 }