java学习:java8新特性之一,方法引用
2018-01-26 本文已影响0人
耳东陈_f1e5
简单介绍:方法引用通过方法的名字来指向一个方法。
方法引用可以使语言的构造更紧凑简洁,减少冗余代码。
方法引用使用一对冒号(::)。
下面,我们以定义了4个方法的Car这个类作为例子,区分Java中支持的4种不同的方法引用。

构造器引用:它的语法是Class::new,或者更一般的Class< T >::new实例如下:

静态方法引用:它的语法是Class::static_method,实例如下:

特定类的任意对象的方法引用:它的语法是Class::method实例如下:

特定对象的方法引用:它的语法是instance::method实例如下:

方法引用实例
在Java8Tester.java 文件输入以下代码:

实例中我们将System.out::println 方法作为静态方法来引用。

执行以上脚本,输出结果为:

方法引用仅仅是Lambda的配套服务,主要目的是通过名字来获得Lambda,重复利用已有的方法。
总的来说Java 8一些新的特性在目前做的项目中还未大量使用,但是学习一下,到时也不至于看到这种Java 8新特性的代码而不知所错!
��4��������3