接口中的私有方法

Java9中新增了带方法体的私有方法,这其实在Java8中就埋下了伏笔:Java8允许在接口中定义带方法体的默认方法和静态方法,这样可能就会引发一个问题:当两个默认方法或者静态方法中包含一段相同的代码实现时,程序必然考虑将这段实现代码抽取成一个共性方法,而这个共性方法是不需要让别人使用的,因此用私有给隐藏起来,这就是Java9增加私有方法的必然性

接口中的私有方法的定义格式1:

接口中的私有方法的定义格式2:

 

需求: 1、定义一个接口Inter,里面有四个方法,分别是2个默认方法和2和静态方法,如下 default void show1(){}、default void show2(){}、static void method1(){}、static void method2(){} 2、定义接口的一个实现类InterImpl 3、定义测试类,在测试类的main方法中,按照多态的方式创建对象并使用

 

接口中的私有方法的注意事项: 1、默认方法可以调用私有的静态方法和非静态方法 2、静态方法只能调用私有的静态方法

 

接口中私有方法的练习