国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java8新特性之默認方法(default)淺析

Java8新特性之默認方法(default)淺析

2019-11-23 17:25Java教程網 JAVA教程

這篇文章主要介紹了Java8新特性之默認方法(default)淺析,默認方法也稱為虛擬擴展方法或防護方法,可以讓我們修改接口而不破壞原來的實現類的結構,需要的朋友可以參考下

一、什么是默認方法,為什么要有默認方法

簡單說,就是接口可以有實現方法,而且不需要實現類去實現其方法。只需在方法名前面加個default關鍵字即可。

為什么要有這個特性?首先,之前的接口是個雙刃劍,好處是面向抽象而不是面向具體編程,缺陷是,當需要修改接口時候,需要修改全部實現該接口的類,目前的java 8之前的集合框架沒有foreach方法,通常能想到的解決辦法是在JDK里給相關的接口添加新的方法及實現。然而,對于已經發布的版本,是沒法在給接口添加新方法的同時不影響已有的實現。所以引進的默認方法。他們的目的是為了解決接口的修改與現有的實現不兼容的問題。

簡單的例子:一個接口A,Clazz類實現了接口A。

復制代碼代碼如下:

public interface A {
    default void foo(){
       System.out.println("Calling A.foo()");
    }
}

public class Clazz implements A {
    public static void main(String[] args){
       Clazz clazz = new Clazz();
       clazz.foo();//調用A.foo()
    }
}

 


代碼是可以編譯的,即使Clazz類并沒有實現foo()方法。在接口A中提供了foo()方法的默認實現。

二、java 8抽象類與接口對比


這一個功能特性出來后,很多同學都反應了,java 8的接口都有實現方法了,跟抽象類還有什么區別?其實還是有的,請看下表對比。。

 

相同點

不同點

1.都是抽象類型;

2.都可以有實現方法(以前接口不行);

3.都可以不需要實現類或者繼承者去實現所有方法,(以前不行,現在接口中默認方法不需要實現者實現)

1.抽象類不可以多重繼承,接口可以(無論是多重類型繼承還是多重行為繼承);

2.抽象類和接口所反映出的設計理念不同。其實抽象類表示的是"is-a"關系,接口表示的是"like-a"關系;

3.接口中定義的變量默認是public static final 型,且必須給其初值,所以實現類中不能重新定義,也不能改變其值;抽象類中的變量默認是 friendly 型,其值可以在子類中重新定義,也可以重新賦值。

 

 

三、多重繼承的沖突說明

由于同一個方法可以從不同接口引入,自然而然的會有沖突的現象,默認方法判斷沖突的規則如下:

1.一個聲明在類里面的方法優先于任何默認方法(classes always win)

2.否則,則會優先選取最具體的實現,比如下面的例子 B重寫了A的hello方法。
Java8新特性之默認方法(default)淺析

輸出結果是:Hello World from B

如果想調用A的默認函數,則用到新語法X.super.m(...),下面修改C類,實現A接口,重寫一個hello方法,如下所示:

復制代碼代碼如下:

public class C implements A{

    @Override
    public void hello(){
        A.super.hello();
    }

    public static void main(String[] args){
        new C().hello();
    }
}

 

輸出結果是:Hello World from A

四、總結

默認方法給予我們修改接口而不破壞原來的實現類的結構提供了便利,目前java 8的集合框架已經大量使用了默認方法來改進了,當我們最終開始使用Java 8的lambdas表達式時,提供給我們一個平滑的過渡體驗。也許將來我們會在API設計中看到更多的默認方法的應用。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91av导航 | av亚洲在线| 精品国产一区探花在线观看 | 久久影院免费观看 | 亚洲毛片在线 | 自拍第1页 | 久久亚洲黄色 | 在线中文字幕视频 | 蜜桃视频一区二区三区 | 久久久999精品视频 午夜精品久久久久久久久久久久 | 久久国产成人 | 激情视频在线观看 | av中文字幕在线播放 | 国产精品射 | 日韩在线精品强乱中文字幕 | 五月天综合网 | 欧美午夜影院 | 色精品 | 亚洲在线精品视频 | av片免费 | 最好的2019中文大全在线观看 | 亚洲乱码一区二区三区在线观看 | 国产精品国产精品国产专区不卡 | www.久久.com | 黄色大片一级 | 在线观看色 | 国产 欧美 日韩一区 | 丝袜久久 | 午夜不卡视频 | 亚洲国产高清高潮精品美女 | 日本视频免费观看 | 国产午夜精品一区二区三区 | 久久综合中文字幕 | 中文字幕亚洲二区 | 亚洲男性天堂 | 成人精品在线观看 | 欧美日韩高清 | 欧美色视频在线观看 | 免费一级a毛片免费观看 | 免费裸体无遮挡黄网站免费看 | 久久久久久亚洲 |