JAVA8的新特性
1.接口的默认方法
在接口中新增了default方法和static方法,这两种方法可以有方法体
2.Lambda 表达式
Lambda表达式可以看成是匿名内部类,使用Lambda表达式时,接口必须是函数式接口
3.函数式接口
如果一个接口只有一个抽象方法,则该接口称之为函数式接口,因为 默认方法 不算抽象方法,所以你也可以给你的函数式接口添加默认方法。
函数式接口可以使用Lambda表达式,lambda表达式会被匹配到这个抽象方法上
我们可以将lambda表达式当作任意只包含一个抽象方法的接口类型,确保你的接口一定达到这个要求,你只需要给你的接口添加 @FunctionalInterface 注解,编译器如果发现你标注了这个注解的接口有多于一个抽象方法的时候会报错的
4.访问接口的默认方法