java8 lambda表達式-其他

1、方法使用

類::靜態方法

對象::實例方法

類::實例方法

System.out::println

Math::pow 等同 (x,y)->Math.pow(x,y)

this::equals->this.equals(x)

2、構造器使用

Person:new

3、變量作用域

在lambda表達式中訪問其他的變量,lambda表達式可以自動獲取值。其實lambda表達式就是閉包

java8之前只能訪問final的局部變量,java8可以訪問任何值不發生變化的變量(這個變量初始化後,不會賦予一個新值的變量)

4、默認方法

java8接口可以默認的實現方法

interface Person{

long getId();

default String getName(){return ""}

如果一個java類實現兩個接口,並且兩個接口有相同的默認方法,這樣會導致衝突,必須覆蓋解決衝突

如果一個java類繼承一個類和實現一個接口,這個類的方法和接口的默認方法相同,不會衝突,java類使用類的方法(類優先)

5、接口的靜態方法

接口用可以有靜態方法,但是違法了抽象原則







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章