最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java8新特性之接口的static和default的使用

 更新時(shí)間:2020年01月17日 09:50:42   作者:二師兄-公眾號(hào)-程序新視界  
這篇文章主要介紹了java8新特性之接口的static和default的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

static方法

java8中為接口新增了一項(xiàng)功能:定義一個(gè)或者更多個(gè)靜態(tài)方法。用法和普通的static方法一樣。

接口中可以定義static方法,可通過(guò)接口名稱(chēng).方法名()調(diào)用,實(shí)現(xiàn)類(lèi)不能繼承static方法;

public interface InterfaceA {
  /**
   * 靜態(tài)方法,不能被實(shí)現(xiàn)類(lèi)重寫(xiě)
   */
  static void hello() {
    System.out.println("Hello Java8");
  }
}
 

使用方法:

public class Test {
  public static void main(String[] args) {
    InterfaceA.hello();
  }
}
 

default方法

在接口中,增加default方法, 是為了既有的成千上萬(wàn)的Java類(lèi)庫(kù)的類(lèi)增加新的功能, 且不必對(duì)這些類(lèi)重新進(jìn)行設(shè)計(jì)。 比如, 只需在Collection接口中增加default Stream stream(), 相應(yīng)的Set和List接口以及它們的子類(lèi)都包含此的方法, 不必為每個(gè)子類(lèi)都重新copy這個(gè)方法。

接口中可以定義default方法,default修飾的方法有方法體,表示這個(gè)方法的默認(rèn)實(shí)現(xiàn),子類(lèi)可以直接調(diào)用,可以選擇重寫(xiě)或者不重寫(xiě);

public interface Human {

  /**
   * 必須被重寫(xiě)
   */
  void oldMethod();

  /**
   * 實(shí)現(xiàn)類(lèi)可以選擇重寫(xiě),也可以不重寫(xiě)
   */
  default void hello(){
    System.out.println("hello Human!");
  }
}
 

但是如果實(shí)現(xiàn)類(lèi)同時(shí)實(shí)現(xiàn)了接口Human和接口Food接口,同時(shí)Food接口中也定義了同名的default方法,那么實(shí)現(xiàn)類(lèi)中必須重寫(xiě)兩個(gè)方法。

public interface Food {
  default void hello(){
    System.out.println("hello Food!");
  }
}
 
public class Person implements Human,Food {

  @Override
  public void oldMethod() {
  }

  /**
   * 實(shí)現(xiàn)的多個(gè)接口中有方法簽名相同的default方法時(shí),實(shí)現(xiàn)類(lèi)必須重寫(xiě)該方法
   */
  @Override
  public void hello() {
    System.out.println("Human eats Food!");
  }
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • IDEA中HTML通過(guò)servlet3.0注解名提交表單到servlet類(lèi)找不到頁(yè)面的問(wèn)題

    IDEA中HTML通過(guò)servlet3.0注解名提交表單到servlet類(lèi)找不到頁(yè)面的問(wèn)題

    這篇文章主要介紹了IDEA中HTML通過(guò)servlet3.0注解名提交表單到servlet類(lèi)找不到頁(yè)面的問(wèn)題,本文通過(guò)場(chǎng)景描述及問(wèn)題解析,給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Java C++題解leetcode 1684統(tǒng)計(jì)一致字符串的數(shù)目示例

    Java C++題解leetcode 1684統(tǒng)計(jì)一致字符串的數(shù)目示例

    這篇文章主要為大家介紹了Java C++題解leetcode 1684統(tǒng)計(jì)一致字符串的數(shù)目示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • java使用itext如何直接生成pdf

    java使用itext如何直接生成pdf

    在工作中,制作PDF文件是常見(jiàn)需求,尤其是需要插入動(dòng)態(tài)數(shù)據(jù)或圖像時(shí),使用PDF模板填充表單域通常足夠,但對(duì)于復(fù)雜文件,可以通過(guò)拼接PDF內(nèi)容來(lái)靈活排版,iText庫(kù)提供了豐富的PDF操作功能,如設(shè)置頁(yè)面大小、邊距、字體、生成動(dòng)態(tài)表格、添加水印、設(shè)置密碼等
    2024-09-09
  • SpringBoot項(xiàng)目依賴(lài)和配置最新示例講解

    SpringBoot項(xiàng)目依賴(lài)和配置最新示例講解

    這篇文章主要介紹了SpringBoot項(xiàng)目依賴(lài)和配置,這里主要是搭建項(xiàng)目常用到的maven依賴(lài)以及搭建項(xiàng)目會(huì)需要用到的一些配置文件,本文通過(guò)示例代碼給大家詳細(xì)講解,需要的朋友可以參考下
    2022-11-11
  • Java如何識(shí)別圖片或掃描PDF中的文字詳解

    Java如何識(shí)別圖片或掃描PDF中的文字詳解

    這篇文章主要介紹了Java如何識(shí)別圖片或掃描PDF中文字的相關(guān)資料,介紹了Java中使用Spire.OCRforJava庫(kù)來(lái)識(shí)別圖片和掃描PDF文件中的文字,需要的朋友可以參考下
    2025-01-01
  • springboot 集成pgsql+mybatis plus的詳細(xì)步驟

    springboot 集成pgsql+mybatis plus的詳細(xì)步驟

    集成 Spring Boot、PostgreSQL 和 MyBatis Plus 的步驟與 MyBatis 類(lèi)似,只不過(guò)在 MyBatis Plus 中提供了更多的便利功能,如自動(dòng)生成 SQL、分頁(yè)查詢(xún)、Wrapper 查詢(xún)等,下面分步驟給大家介紹springboot 集成pgsql+mybatis plus的過(guò)程,感興趣的朋友一起看看吧
    2023-12-12
  • Java中Integer128的坑

    Java中Integer128的坑

    本文主要介紹了Java中Integer128的坑,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • SpringBoot使用MyBatis-Plus解決Invalid?bound?statement異常

    SpringBoot使用MyBatis-Plus解決Invalid?bound?statement異常

    這篇文章主要介紹了SpringBoot使用MyBatis-Plus解決Invalid?bound?statement異常,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • Spring Boot中配置定時(shí)任務(wù)、線(xiàn)程池與多線(xiàn)程池執(zhí)行的方法

    Spring Boot中配置定時(shí)任務(wù)、線(xiàn)程池與多線(xiàn)程池執(zhí)行的方法

    這篇文章主要給大家介紹了關(guān)于Spring Boot中配置定時(shí)任務(wù)、線(xiàn)程池與多線(xiàn)程池執(zhí)行的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Java中截取字符串方法的兩種用法

    Java中截取字符串方法的兩種用法

    這篇文章主要給大家介紹了關(guān)于Java中截取字符串方法的兩種用法,在Java開(kāi)發(fā)中經(jīng)常會(huì)涉及到對(duì)字符串進(jìn)行截取操作,字符串截取是一種常見(jiàn)且重要的字符串處理技巧,可以根據(jù)實(shí)際需求獲取字符串的指定部分,需要的朋友可以參考下
    2023-09-09

最新評(píng)論

金寨县| 卫辉市| 宁明县| 南皮县| 永丰县| 宿松县| 乐亭县| 宁明县| 铁岭市| 南华县| 普格县| 铁力市| 辽阳县| 元谋县| 太仓市| 遵义县| 桂东县| 萍乡市| 五寨县| 获嘉县| 鲁甸县| 中牟县| 尼勒克县| 禄劝| 博兴县| 竹北市| 宜宾市| 山西省| 义马市| 广东省| 镇安县| 洪洞县| 赤峰市| 临安市| 达孜县| 张家川| 扎囊县| 康定县| 石首市| 建始县| 云浮市|