java8新特性——接口定義增強

使用static、default定義接口的普通方法。
在這裏插入圖片描述
在這裏插入圖片描述
所有子類必須覆蓋接口中的全部抽象方法,那麼在這種情況下,如果要在接口裏定義抽象方法,代碼改動太大了。
爲了解決這一矛盾,所以從JDK1.8開始,允許在接口中使用default定義方法了。
在這裏插入圖片描述
此時這樣的方法就不需要子類再進行強制性覆寫了。子類現在如果有需要也可以進行方法的覆寫。
但是此時有一個問題了,如果在子類被覆寫的方法裏面依然要調用父類的方法。那麼不能夠直接使用“super.方法()”了,加上接口名稱:“接口.super.父接口方法()”。
在這裏插入圖片描述
利用default追加的方法可以實現對象調用,但是不想用對象調用,就想寫一個static方法,最早的時候不可以,現在可以了。
在這裏插入圖片描述

clean();//內部類的方法,肯定可以調用,因爲是類。

從此以後要定義公共方法就可以在接口中直接定義。

總結

接口增強就是增加了default定義方法的可能。但是這種方法依靠實例化對象調用;
接口中使用static定義的方法可以由接口名稱直接調用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章