一、介面實現靜態方法的意義:省去工具類
什麼叫做工具類?
工具類就是乙個類中所有方法都為靜態方法,可以直接引用;
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...