Java8 Interface Default and Static Methods
原文連接:Java8新特性系列-默認方法 – 微愛博客
在 Java 8 之前,介面只能有公共抽象方法, 如果不強制所有實作類創建新方法的實作,就不可能向現有介面添加新功能,也不可能創建具有實作的介面方法,
從 Java 8 開始,介面可以具有靜態和默認方法,盡管在介面中宣告了這些方法,但它們具有已定義的行為,
靜態方法
假如一個介面有如下的方法
static String producer() {
return "N&F Vehicles";
}
靜態 producer() 方法只能通過介面和在介面內部使用, 它不能被實作類覆寫, 要在介面之外呼叫它,應使用靜態方法呼叫的標準方法:
String producer = Vehicle.producer();
默認方法
默認方法是使用新的 default 關鍵字宣告的, 這些可以通過實作類的實體訪問,并且可以被覆寫,
讓我們為 Vehicle 介面添加一個默認方法,該方法也會呼叫該介面的靜態方法:
default String getOverview() {
return "ATV made by " + producer();
}
假設這個介面是由類 VehicleImpl 實作的, 為了執行默認方法,應創建此類的實體:
Vehicle vehicle = new VehicleImpl();
String overview = vehicle.getOverview();
作者:小艾
出處:http://www.cnblogs.com/luoaz/
本文著作權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/435354.html
標籤:Java
