图解jdk1.8新特性

Posted kidezyq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图解jdk1.8新特性相关的知识,希望对你有一定的参考价值。

图解jdk1.8新特性(1)

函数式接口

技术图片

技术图片

总结起来就以下几点:

  • 如果一个接口要想成为函数接口(函数接口可以直接用lambda方式简化),则必须有且仅有一个抽象的方法(非default和static)

  • 可以通过注解@FunctionalInterface注解通过在编译时报错防止其他人破坏函数式接口


接口默认和静态方法

技术图片

技术图片

技术图片

总结如下:

  • jdk1.8之后接口可以实现default方法和static方法,其实就是将接口当做了一个抽象类
  • default方法是非静态,必须通过接口的实现类来调用,接口实现类中可以对该方法进行重写。而static方法可以直接通过接口调用。

方法引用

技术图片

技术图片

技术图片

技术图片

总结如下:

  • 方法的引用方式只能用在作为方法的参数,不能用在new创建对象上
  • 方法引用作为参数时,原参数类型必须是函数式接口或者原本是一个lambda表达式
  • 用方法引用new出来的对象,其实质上还是函数式接口的一个lamba子类,此时多态不起作用

以上是关于图解jdk1.8新特性的主要内容,如果未能解决你的问题,请参考以下文章

jdk1.8新特性——Stream(流)的创建

jdk1.8新特性——Stream(流)的终止操作基本语法

jdk1.8新特性——Stream(流)的中间操作基本语法

jdk1.8新特性——Stream(流)的终止操作(收集的示例演示)

jdk1.8新特性——Stream(流)的中间操作(排序的示例演示)

jdk1.8新特性——Stream(流)的中间操作(映射的示例演示)