JDK1 8新特性簡介

2021-10-06 01:28:35 字數 876 閱讀 6033

可以用static default來定義介面方法

用default來定義普通方法,這樣子類就不用強制覆寫這個方法了。

用static來定義靜態方法

專給lanmda使用的介面加上annotation @functionalinte***ce

其中只能有乙個方法

使用:(引數) -> 程式執行語句

(引數) ->

簡單返回:

(引數) -> 表示式;

方法引用與物件引用類似,為方法設定別名,分為四種形式:

引用靜態方法: 類名稱 ::static 方法名稱

引用某個物件的方法:  例項化物件 :: 普通方法

引用特定型別的方法:  特定類 :: 普通方法

引用構造方法:  類名稱 :: new

方法引用與lamda表示式相關聯,具體使用需要依賴lamda

方法的引用,四種介面的**示例完成。

4個內建函式式介面:

功能型介面-function      startwith

@functionalinte***ce

public inte***ce function

供給型介面-supplier    touppercase

@functionalinte***ce

public inte***ce supplier

斷言型介面-predicate   equals

@functionalinte***ce

public inte***ce predicate

消費型介面-consumer

@functionalinte***ce   system.out.println()

public inte***ce consumer

JDK1 8的新特性

jdk1.8之前的介面不可以有方法體,但從jdk1.8開始,介面中的方法可以帶有方法體為什麼要新增這個特性?介面就是為了定義乙個標準,這個標準要求所有的實現類實現這些抽象方法。但存在某些方法,所有的實現類 都是一樣的,索性就把這些 挪到介面中。使用的方法?通過default來修飾這個方法public...

JDK1 8 新特性(全)

hashmap資料結構 在jdk1.8中對hashmap等map集合的資料結構優化。hashmap資料結構的優化 知識點 1 原來的hashmap採用的資料結構是雜湊表 陣列 鍊錶 hashmap預設大小是16,乙個0 15索引的陣列,2 如何往裡面儲存元素 首先呼叫元素的hashcode 方法,計...

JDK1 8新特性 方法引用

方法引用是對lamdba的一種優化,因此,能用方法引用的地方,一定能用lamdba表示式。使用lamdba表示式,方法的引數必須是函式式介面,所以使用方法引用也要有乙個函式式介面。前提 物件已經存在,方法已經存在,就能使用了 前提 物件是已經存在的,成員方法也是已經存在的 定義乙個函式式介面 fun...