在Java 9中,接口中定义了哪些类型的变量/方法?

在Java 9中,接口中定义了哪些类型的变量/方法?

从 Java 9 开始,我们可以添加私有方法私有静态 接口中的方法。在接口中使用私有方法的优点是减少默认静态方法之间的代码重复。例如,如果两个或多个默认方法需要共享某些代码,则可以为其创建一个私有方法,并从每个默认方法中调用。

在 Java 9 中,以下变量/方法已在接口中定义。

  • 常量
  • 抽象方法 li>
  • 默认方法
  • 静态方法
  • 私有方法
  • 私有静态方法

示例

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

以上就是在Java 9中,接口中定义了哪些类型的变量/方法?的详细内容,更多请关注编程之家其它相关文章!

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...