Java 9 中在接口中定义的变量/方法有哪些?
从 Java 9 开始,我们可以在接口中添加私有 方法 和私有 静态 方法 。在接口中使用私有方法的优点在于减少了默认 方法和静态 方法之间的代码重复。例如,如果两个或多个默认方法需要共享一些代码,则可以为这些方法创建私有方法 ,然后从每个默认方法调用该私有方法。
在 Java 9 中,在接口中定义了以下变量/方法 。
- 常量
- 抽象方法
- 默认方法
- 静态方法
- 私有方法
- 私有静态方法
示例
import java.util.*; import java.util.stream.*; interface InterfaceTest { static void printEvenNumbers() { getDataStream().filter(i -> i%2==0).forEach(System.out::println); } static void printLOddNumbers() { getDataStream().filter(i -> i%2!=0).forEach(System.out::println); } private static Stream<Integer> getDataStream() { // private static method List<Integer> list = Arrays.asList(10, 13, 5, 15, 12, 20, 11, 25, 16); return list.stream(); } } public class InterfacePrivateMethodTest implements InterfaceTest { public static void main(String args[]) { System.out.println("The even numbers: "); InterfaceTest.printEvenNumbers(); System.out.println("The odd numbers: "); InterfaceTest.printLOddNumbers(); } }
输出
The even numbers: 10 12 20 16 The odd numbers: 13 5 15 11 25
广告