JAVA8新特性

Java8 新特性:1)接口的默认方法,java 8  允许我们给接口添加一个非抽象方法,只需使用 default 关键字。2)lambda 表达式,在 java8 之前,若想将行为传入函数,仅有的选择是匿名类,而定义行为最重要的那行代码,却混在中间不够突出。lambda 表达式取代了匿名类,编码更清晰。3)函数式接口:指仅仅只有一个抽象方法的接口,每一个该类型的 lambda 表达式都会被匹配到这个抽象方法。每一个 lambda 表达式都对应一个类型,通常是接口类型,我们可以把 lambda 表达式当作任意只包含一个抽象方法的接口类型,为了确保接口一定达到这个要求(即有一个抽象方法),你只需要给你的接口加上@FunctioalInterface 注释

(编译器若发现标注了这个注释的接口有多于一个抽象方法,则报错)。4)lambda 作用域, 在 lambda 表达式中访问外层作用域和老版本的匿名对象中的方法很相似,你可以直接访问标记了 final 的外层局部变量或实例的字段以及静态变量。lambda 表达式对外层局部变量只可读不可写,对类实例变量可读也可写。5)dateAPI:java8 在 java.time 包中包含一组全新日期 API。6)annotation 注释,java8 支持可重复注解,相同的注解可以在同一地方使用多次。

猜你喜欢

转载自www.cnblogs.com/cing/p/8856745.html