簡單介紹:方法引用通過方法的名字來指向一個(gè)方法。
方法引用可以使語言的構(gòu)造更緊湊簡潔,減少冗余代碼捣郊。
方法引用使用一對(duì)冒號(hào)(::)辽狈。
下面,我們以定義了4個(gè)方法的Car這個(gè)類作為例子呛牲,區(qū)分Java中支持的4種不同的方法引用刮萌。
構(gòu)造器引用:它的語法是Class::new,或者更一般的Class< T >::new實(shí)例如下:
靜態(tài)方法引用:它的語法是Class::static_method娘扩,實(shí)例如下:
特定類的任意對(duì)象的方法引用:它的語法是Class::method實(shí)例如下:
特定對(duì)象的方法引用:它的語法是instance::method實(shí)例如下:
方法引用實(shí)例
在Java8Tester.java 文件輸入以下代碼:
實(shí)例中我們將System.out::println 方法作為靜態(tài)方法來引用着茸。
執(zhí)行以上腳本,輸出結(jié)果為:
方法引用僅僅是Lambda的配套服務(wù)畜侦,主要目的是通過名字來獲得Lambda,重復(fù)利用已有的方法躯保。
總的來說Java 8一些新的特性在目前做的項(xiàng)目中還未大量使用旋膳,但是學(xué)習(xí)一下,到時(shí)也不至于看到這種Java 8新特性的代碼而不知所錯(cuò)途事!
??4????????3