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

詳解Java接口的相關知識

 更新時間:2021年06月24日 10:23:45   作者:liaofeifei_book  
今天給大家?guī)淼氖顷P于Java基礎的相關知識,文章圍繞著Java接口展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下

一、接口概述

接口,是Java語言中一種引用類型,是方法的集合,如果說類的內部封裝了成員變量、構造方法、成員方法,那么接口的內部主要就是封裝了方法,包含抽象方法(JDK 7及以前)、默認方法和靜態(tài)方法(JDK8),私有方法(JDK9)。

二、定義格式

接口格式

public interface 接口名稱 {
    // 抽象方法
    // 默認方法
    // 靜態(tài)方法
    // 私有方法
}

接口不能直接使用,必須有一個“實現(xiàn)類"來”實現(xiàn)接口“。

實現(xiàn)類格式:

public class 實現(xiàn)類名稱 implements 接口名稱{
    //覆蓋重寫接口中的抽象方法【必須】
    //重寫接口中的默認方法【可選】
}

1.接口的實現(xiàn)類必須覆蓋重寫(實現(xiàn))接口中所有的抽象方法。
實現(xiàn):去掉abstract關鍵字,加上方法體大括號。

2.創(chuàng)建實現(xiàn)類的對象,進行使用。

注意事項:

如果實現(xiàn)類并沒有覆蓋重寫接口中所有的抽象方法,那么這個實現(xiàn)類自己就必須是抽象類。

2.1 抽象方法

抽象方法:使用abstract關鍵字修飾,可以省略,沒有方法體。該方法供子類實現(xiàn)使用。

代碼如下:

public interface 接口名稱 {
    public abstract void 方法名稱();
}

注意事項:

1.抽象方法中的修飾符必須是兩個固定的關鍵字:public abstract。這兩個關鍵字修飾符,可以選擇性省略。

2.方法的三要素,可以隨意定義。

3.接口的實現(xiàn)類必須覆蓋重寫所有的抽象方法。

2.2 默認方法和靜態(tài)方法

  • 默認方法:使用default關鍵字修飾,不可省略,供子類調用或者子類重寫。

備注:接口當中的默認方法,可以解決接口升級的問題。

  • 靜態(tài)方法:使用static關鍵字修飾,供接口直接調用。
public interface 接口名稱{
    // 默認方法
    public default void 方法名稱(){
        // 方法體
    }
    
    // 靜態(tài)方法
    public static void 方法名稱(){
        // 方法體
    }
}

靜態(tài)方法使用注意事項

不能通過接口實現(xiàn)類的對象來調用接口當中的靜態(tài)方法。

正確用法:通過接口名稱,直接調用其中的靜態(tài)方法。

格式

接口名稱.靜態(tài)方法(參數(shù));

2.3 私有方法

私有方法:使用private修飾,供接口中的默認方法或者靜態(tài)方法調用。

格式如下:

public interface 接口名稱{
    // 普通私有方法,解決多個默認方法之間的重復代碼問題
    private 返回值類型 方法名稱(參數(shù)列表){
        // 執(zhí)行語句
    }
    // 靜態(tài)私有方法,解決多個靜態(tài)方法之間重復代碼問題
    private static 返回值類型 方法名稱(參數(shù)列表){
        // 執(zhí)行語句
    }
}

2.4 成員變量

接口中也可以定義“成員變量”,但是必須使用public static final三個關鍵字進行修飾。

從效果上來看,這其實就是接口中的【常量】。

格式:

public static final 數(shù)據類型 常量名稱 = 數(shù)據值;

注意事項:

1.public、staticfinal三個關鍵字都可以省略。

2.接口中的常量,必須進行賦值,不能不賦值。

3.接口中的常量名稱,使用的字符必須全部大寫,用下劃線進行分隔。

三、接口的注意事項

1.接口是沒有靜態(tài)代碼塊或者構造方法的。

2.一個類的直接父類是唯一的,但是一個類可以同時實現(xiàn)多個接口。

格式:

public class 類名稱 implements 接口1,接口2,...{
    // 覆蓋重寫所有抽象方法
}

3.如果實現(xiàn)類所實現(xiàn)的多個接口當中,存在重復的抽象方法,那么只需要覆蓋重寫一次即可。

4.如果實現(xiàn)類沒有覆蓋重寫所有接口當中的所有抽象方法,那么實現(xiàn)類就必須是一個抽象類。

5.如果實現(xiàn)類所實現(xiàn)的多個接口當中,存在重復的默認方法,那么實現(xiàn)類一定要對沖突的默認方法進行覆蓋重寫。

6.一個類如果直接父類當中的方法,和接口當中的默認方法產生了沖突,優(yōu)先用父類當中的方法。

四、接口的特點

  • 多實現(xiàn)性:一個類可以實現(xiàn)多個接口
  • 多繼承性:一個接口可以繼承多個接口。

注意事項:

1.多個父接口當中的抽象方法如果重復,沒關系,不要管。

2.多個父接口當中的默認方法如果重復,那么子接口必須進行默認方法的覆蓋重寫,【而且?guī)е鴇efault關鍵字】。

到此這篇關于詳解Java接口的相關知識的文章就介紹到這了,更多相關Java接口內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 詳解Java泛型中類型擦除問題的解決方法

    詳解Java泛型中類型擦除問題的解決方法

    Java泛型的實現(xiàn)是不完整的,有時會遇到一些Java泛型類型擦除的問題。本文將詳細為大家講解Java泛型中類型擦除問題的解決方法,需要的可以參考一下
    2022-05-05
  • 5分鐘快速學會spring boot整合JdbcTemplate的方法

    5分鐘快速學會spring boot整合JdbcTemplate的方法

    這篇文章主要給大家介紹了如何通過5分鐘快速學會spring boot整合JdbcTemplate的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用spring boot整合JdbcTemplate具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-12-12
  • java web返回中文亂碼問題及解決

    java web返回中文亂碼問題及解決

    這篇文章主要介紹了java web返回中文亂碼問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 解決Mybatis查詢方法selectById()主鍵不一致問題

    解決Mybatis查詢方法selectById()主鍵不一致問題

    這篇文章主要介紹了解決Mybatis查詢方法selectById()主鍵不一致問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • 一文詳解Java二分查找算法

    一文詳解Java二分查找算法

    二分查找(binary search),也稱折半搜索,是一種在有序數(shù)組中查找某一特定元素的搜索算法,接下來就來給大家講講都有哪些查找算法,以及經典的二分查找法該如何實現(xiàn),需要的朋友可以參考下
    2023-07-07
  • Java發(fā)送帶html標簽內容的郵件實例代碼

    Java發(fā)送帶html標簽內容的郵件實例代碼

    下面小編就為大家?guī)硪黄狫ava發(fā)送帶html標簽內容的郵件實例代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • 詳談JSON與Javabean轉換的幾種形式

    詳談JSON與Javabean轉換的幾種形式

    下面小編就為大家?guī)硪黄斦凧SON與Javabean轉換的幾種形式。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Mybatis-Plus中Mapper的接口文件與xml文件相關的坑記錄

    Mybatis-Plus中Mapper的接口文件與xml文件相關的坑記錄

    這篇文章主要介紹了Mybatis-Plus中Mapper的接口文件與xml文件相關的坑記錄,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • java實現(xiàn)多線程之定時器任務

    java實現(xiàn)多線程之定時器任務

    本篇文章主要介紹了java實現(xiàn)多線程之定時器任務,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • Java Comparable 和 Comparator 的詳解及區(qū)別

    Java Comparable 和 Comparator 的詳解及區(qū)別

    這篇文章主要介紹了Java Comparable 和 Comparator 的詳解及區(qū)別的相關資料,Comparable 自然排序和Comparator 定制排序的實例,需要的朋友可以參考下
    2016-12-12

最新評論

亚东县| 平阳县| 栖霞市| 周至县| 五台县| 石首市| 东光县| 肃北| 麻栗坡县| 合川市| 周至县| 通道| 南宁市| 昔阳县| 金寨县| 昭通市| 津南区| 扶沟县| 英超| 津南区| 威远县| 博白县| 孝义市| 平安县| 巫山县| 西畴县| 宾川县| 河北区| 安宁市| 普安县| 洛南县| 金寨县| 富宁县| 潼南县| 南开区| 淄博市| 易门县| 万全县| 凤台县| 抚宁县| 尼木县|