jdk1 8版本以上出現的新特性

2021-08-14 16:14:42 字數 1155 閱讀 6512

jdk1.8版本以上出現的新特性

1.介面可以宣告

1.抽象方法

2.靜態方法

3.預設方法

2.抽象類和介面的區別
1.成員變數

介面:只能是常量

抽象類:可以是變數也可以是常量

2.成員方法

介面;只能是抽象方法靜態方法 和 預設方法

抽象類:可以是抽象方法 也可以是普通方法

3.構造方法:

介面:有構造方法 可以是被繼承

抽象類:沒有構造方法 只能被實現

4.抽象類和介面都不能實現例項化物件

3.測試**
public

class demoppractice

}inte***ce interx

public

default

void

defaultfun()

}class interximp implements interx

@override

public

void

defaultfun()

public

void

fun()

public

static

void

staticfun()

}

執行結果:
我是interx介面裡的靜態方法 tsaticf()

-----------

我是實現類的默方法 重寫所得

我是介面中的預設方法defultfun()

-----------

我是實現類的抽象方法 重寫所得

-----------

我是實現類的靜態方法staticfun()

-----------

我是實現類的默方法 重寫所得

我是介面中的預設方法defultfun()

5.總結
1.介面中靜態變數的呼叫 可以直接使用介面名呼叫

2.呼叫實現類中的 特有方法 需要向下轉型

3.實現類中 可以不去重寫 實現 介面中靜態方法 和 預設方法

4.實現類中呼叫 介面類中的預設方法 可以使用 介面名.super.方法名();

JDK1 8的新特性

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

JDK1 8新特性簡介

可以用static default來定義介面方法 用default來定義普通方法,這樣子類就不用強制覆寫這個方法了。用static來定義靜態方法 專給lanmda使用的介面加上annotation functionalinte ce 其中只能有乙個方法 使用 引數 程式執行語句 引數 簡單返回 引數...

JDK1 8 新特性(全)

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