1 8(或jdk9)的介面和之前區別

2021-08-24 23:41:10 字數 832 閱讀 7760

一、介面實現靜態方法的意義:省去工具類

什麼叫做工具類?

工具類就是乙個類中所有方法都為靜態方法,可以直接引用;

collections工具類 有以下幾種方法

sort(list list)對list進行排序

sort(list list ,comparator()) 對做比較後的list進行排序

reverse(list list) 對list倒敘排出

shuffle(list list) 對list打亂後排出

二、介面中定義預設方法:語法(default 返回值 方法名());

菱形繼承問題:

class

a } inte***ce

b }

class

cextends

aimplements

b

c繼承a實現b,但是a,b中方法名相同,這時候預設為父類的方法

inte***ce

a } inte***ce

b }

class

cimplements

a, b

c同時實現a b介面,這時候要求c必須覆蓋介面中的方法,呼叫父介面方法如**

總結:方法引用規則:

(1)父類優先於介面

(2)子介面優先于父介面

(3)平級介面出現方法覆蓋,實現類必須覆蓋

(4)出現方法簽名衝突,無法解決

三、介面中可以定義私有預設方法(jdk9)

inte***ce id }

JDK7和JDK9關於Try Catch的使用

jdk7的新特性 可以在try後邊加乙個 在括號中引入物件,此物件的作用域是整個try 中,以檔案輸入輸出流為例,可以在 中引入檔案輸入流 輸出流,在try中 執行完畢之後,會自動釋放資源,不用再呼叫close釋放資源。格式 try 定義流物件 定義流對.catch 異常類變數 變數名 jdk7寫法...

JDK9新特性 集合新增優化之of方法

list介面 set介面 map介面 裡邊增加了乙個靜態的方法of,可以給集合一次性新增多個元素。原始碼 static list of e elements 不定長引數 使用前提 當集合中儲存的元素的個數已經確定了,不再改變的時候使用 注意 1.of方法只適用於這三個介面,不適用於介面的實現類 2....

JDK9集合的新特性

list介面 set介面 map介面 裡面新增了乙個靜態方法of,可以一次性給集合新增多個元素 使用前提 當集合中儲存的元素的個數已經確定,不再改變 注意 1.of方法只適用於上述三個介面,不適用於介面的實現類,實現類沒有of方法 2.of方法的返回值是乙個不能改變的集合,集合不能再使用add,pu...