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 方法,計...