欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

深入理解Java8新特性之接口中的默認(rèn)方法和靜態(tài)方法

 更新時間:2021年11月16日 09:23:03   作者:張起靈-小哥  
從Java8開始,程序允許在接口中包含帶有具體實(shí)現(xiàn)的方法,使用default修飾,這類方法就是默認(rèn)方法。默認(rèn)方法在接口中可以添加多個,并且Java8提供了很多對應(yīng)的接口默認(rèn)方法,接下來讓我們一起來看看吧

1.接口中的默認(rèn)方法和靜態(tài)方法

Java 8中允許接口中包含具有具體實(shí)現(xiàn)的方法,該方法稱為 “默認(rèn)方法” ,默認(rèn)方法使用 default 關(guān)鍵字修飾。

接口默認(rèn)方法的 ” 類優(yōu)先 ” 原則。若一個接口中定義了一個默認(rèn)方法,而另外一個父類或接口中又定義了一個同名的方法時

  • 選擇父類中的方法。如果一個父類提供了具體的實(shí)現(xiàn),那么接口中具有相同名稱和參數(shù)的默認(rèn)方法會被忽略。
  • 接口沖突。如果一個父接口提供一個默認(rèn)方法,而另一個接口也提供了一個具有相同名稱和參數(shù)列表的方法(不管方法是否是默認(rèn)方法),那么必須覆蓋該方法來解決沖突。

同時,Java8 中,允許接口中添加靜態(tài)方法(static)。

2.應(yīng)用舉例

package com.szh.java8;
 
/**
 *
 */
interface InterfaceOne {
 
    default String getMessage() {
        return "哈哈哈";
    }
 
    static void show() {
        System.out.println("接口中的靜態(tài)方法");
    }
}
 
interface InterfaceTwo {
    default String getMessage() {
        return "嘿嘿嘿";
    }
}
 
class ClassOne {
    public String getMessage() {
        return "呵呵呵";
    }
}
 
class SubClass1 extends ClassOne implements InterfaceOne {
 
}
 
class SubClass2 extends ClassOne implements InterfaceOne,InterfaceTwo {
 
}
 
class SubClass3 implements InterfaceOne,InterfaceTwo {
 
    @Override
    public String getMessage() {
        return InterfaceTwo.super.getMessage();
    }
 
}
 
public class TestClass {
 
    public static void main(String[] args) {
        SubClass1 sub1 = new SubClass1();
        System.out.println(sub1.getMessage());
 
        SubClass2 sub2 = new SubClass2();
        System.out.println(sub2.getMessage());
 
        SubClass3 sub3 = new SubClass3();
        System.out.println(sub3.getMessage());
 
        InterfaceOne.show();
    }
}

雖然SubClass1類繼承了ClassOne、同時實(shí)現(xiàn)了InterfaceOne,由于類優(yōu)先原則,所以這里執(zhí)行的是ClassOne類中的getMessage方法。

SubClass2與SubClass1是同樣的道理。

而SubClass3就不一樣了,它沒有繼承ClassOne這個類,而是同時實(shí)現(xiàn)了InterfaceOne、InterfaceTwo這兩個接口,那么它就必須選擇其中一個來對默認(rèn)方法進(jìn)行實(shí)現(xiàn)(覆蓋 / 重寫),實(shí)現(xiàn)的是哪個接口,相應(yīng)的就執(zhí)行哪個接口的默認(rèn)方法。

最后接口中的靜態(tài)方法就和類中的靜態(tài)方法一樣,直接 接口名.靜態(tài)方法名 就可以調(diào)用了。

到此這篇關(guān)于深入理解Java8新特性之接口中的默認(rèn)方法和靜態(tài)方法的文章就介紹到這了,更多相關(guān)Java 新特性內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java中instanceof 關(guān)鍵字作用和實(shí)際用途詳解

    java中instanceof 關(guān)鍵字作用和實(shí)際用途詳解

    這篇文章主要介紹了java中instanceof 關(guān)鍵字作用和實(shí)際用途,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • Java實(shí)現(xiàn)多線程文件下載的代碼示例

    Java實(shí)現(xiàn)多線程文件下載的代碼示例

    本篇文章主要介紹了Java實(shí)現(xiàn)多線程下載的代碼示例,Java多線程可以充分利用CPU的資源,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-02-02
  • 詳解Spring Boot 目錄文件結(jié)構(gòu)

    詳解Spring Boot 目錄文件結(jié)構(gòu)

    這篇文章主要介紹了Spring Boot 目錄文件結(jié)構(gòu)的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • SpringBoot整合sharding-jdbc實(shí)現(xiàn)分庫分表與讀寫分離的示例

    SpringBoot整合sharding-jdbc實(shí)現(xiàn)分庫分表與讀寫分離的示例

    本文主要介紹了SpringBoot整合sharding-jdbc實(shí)現(xiàn)分庫分表與讀寫分離的示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • java HashMap 的工作原理詳解

    java HashMap 的工作原理詳解

    本文主要介紹java HashMap 的資料,這里整理了相關(guān)資料,并詳細(xì)說明了HashMap的用法,有需要的小伙伴可以參考下
    2016-09-09
  • Java如何實(shí)現(xiàn)上傳文件到服務(wù)器指定目錄

    Java如何實(shí)現(xiàn)上傳文件到服務(wù)器指定目錄

    這篇文章主要介紹了Java如何實(shí)現(xiàn)上傳文件到服務(wù)器指定目錄,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • Java中的Hashtable源碼詳細(xì)解析

    Java中的Hashtable源碼詳細(xì)解析

    這篇文章主要介紹了Java中的Hashtable源碼詳細(xì)解析,Hashtable 的函數(shù)都是同步的,這意味著它是線程安全的,它的key、value都不可以為null,此外,Hashtable中的映射不是有序的,需要的朋友可以參考下
    2023-11-11
  • Java 線程優(yōu)先級詳解及實(shí)例

    Java 線程優(yōu)先級詳解及實(shí)例

    這篇文章主要介紹了Java 線程優(yōu)先級詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • 帶你深入了解java-代理機(jī)制

    帶你深入了解java-代理機(jī)制

    Java 有兩種代理方式,一種是靜態(tài)代理,另一種是動態(tài)代理。如果我們在代碼編譯時就確定了被代理的類是哪一個,那么就可以直接使用靜態(tài)代理;如果不能確定,那么可以使用類的動態(tài)加載機(jī)制,在代碼運(yùn)行期間加載被代理的類這就是動態(tài)代理
    2021-08-08
  • 談Java static關(guān)鍵字的用法與好處

    談Java static關(guān)鍵字的用法與好處

    這篇文章主要為大家詳細(xì)介紹了Java static關(guān)鍵字的用法與好處,感興趣的朋友可以參考一下
    2016-05-05

最新評論