Java 教程
在 Java 8之前,接口可以有常量變量和抽象方法。
我們不能在接口中提供方法實現(xiàn)。如果我們要提供抽象方法和非抽象方法(方法與實現(xiàn))的組合,那么我們就得使用抽象類。
以上實例執(zhí)行輸出結(jié)果為:
Open Database connection Log Message : INFO Close Database connection Open Database connection Log Message : WARN Close Database connection Open Database connection Log Message : ERROR Close Database connection Open Database connection Log Message : FATAL Close Database connection
在上面的例子中,每個日志方法都有自己的實現(xiàn)。
在 Java 8 接口引入了一些新功能——默認方法和靜態(tài)方法。我們可以在Java SE 8的接口中編寫方法實現(xiàn),僅僅需要使用 default 關(guān)鍵字來定義它們。
在 Java 8 中,一個接口中能定義如下幾種變量/方法:
以上實例執(zhí)行輸出結(jié)果為:
Open Database connection Log Message : INFO Close Database connection Open Database connection Log Message : WARN Close Database connection Open Database connection Log Message : ERROR Close Database connection Open Database connection Log Message : FATAL Close Database connection
Java 9 不僅像 Java 8 一樣支持接口默認方法,同時還支持私有方法。
在 Java 9 中,一個接口中能定義如下幾種變量/方法:
以下實例提取了冗余到通用方法,看起來明顯更簡潔:
以上實例執(zhí)行輸出結(jié)果為:
Open Database connection Log Message : INFO Close Database connection Open Database connection Log Message : WARN Close Database connection Open Database connection Log Message : ERROR Close Database connection Open Database connection Log Message : FATAL Close Database connection其他擴展