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

Java詳細(xì)講解不同版本的接口語法和抽象類與接口的區(qū)別

 更新時(shí)間:2022年04月09日 10:40:00   作者:學(xué)廢的小白!  
對(duì)于面向?qū)ο缶幊虂碚f,抽象是它的一大特征之一,在?Java?中可以通過兩種形式來體現(xiàn)OOP的抽象:接口和抽象類,下面這篇文章主要給大家介紹了關(guān)于Java入門基礎(chǔ)之抽象類與接口的相關(guān)資料,需要的朋友可以參考下

什么是接口?

說到接口,USB大家肯定不陌生~
接口是一種標(biāo)準(zhǔn)、規(guī)范.
注意:接口一旦制定好,使用者和實(shí)現(xiàn)者都必須遵循的標(biāo)準(zhǔn).

在這里插入圖片描述

接口的語法: (JDK7.0)

(1) 關(guān)鍵字:interface 
(2) 語法:  interface 接口名{} 
(3) 接口編譯之后會(huì)生成對(duì)應(yīng)的 .class文件 
(4) 接口不能創(chuàng)建對(duì)象,但是可以聲明引用 接口名 引用名; 
(5) 接口中沒有構(gòu)造方法 
(6) 接口中所有的屬性都是公開的靜態(tài)常量
    (默認(rèn)被:public static final) 
(7) 接口中所有的方法都是公開抽象方法
    (默認(rèn)被:public abstract修飾) 
    注意:接口中的方法默認(rèn)訪問權(quán)限為public; 
         類中方法默認(rèn)訪問權(quán)限是 default

接口的實(shí)現(xiàn)類:

語法:

class 類名 implements 接口名{} 

注意:實(shí)現(xiàn)的關(guān)鍵字為 implements 
(1) 如果實(shí)現(xiàn)類不想成為抽象類,必須覆蓋(實(shí)現(xiàn))接口中所有的方法 
(2) 實(shí)現(xiàn)類中覆蓋接口中的方法時(shí),訪問權(quán)限必須是public
使用:
(1) 接口類型的引用中,只能存儲(chǔ)對(duì)應(yīng)實(shí)現(xiàn)類的對(duì)象,體現(xiàn)多態(tài)的應(yīng)用 
(2) 語法:

    接口名 引用名 = new 實(shí)現(xiàn)類類名(實(shí)參); 

    注意:一個(gè)接口可以定義多個(gè)實(shí)現(xiàn)類

接口的繼承性:(很重要哦~)

接口與接口之間為多繼承的關(guān)系

(1) 一個(gè)接口可以同時(shí)繼承多個(gè)父接口 

(2) 語法: 

    interface 接口名 extends 父接口名1,父接口名2{}

類與接口之間為多實(shí)現(xiàn)的關(guān)系

(1) 一個(gè)類可以同時(shí)實(shí)現(xiàn)多個(gè)接口 

(2) 語法: 

    class 類名 implements 接口名1,接口名2{} 

(3) 一個(gè)類同時(shí)實(shí)現(xiàn)多個(gè)接口,不想成為抽象類,則需要實(shí)現(xiàn)所有接口中所有方法 
    (包括所實(shí)現(xiàn)接口的父接口中的方法)

一個(gè)類實(shí)現(xiàn)多個(gè)接口的同時(shí)還有可以繼承一個(gè)類

(1) 如果一個(gè)類繼承一個(gè)父類同時(shí)實(shí)現(xiàn)多個(gè)接口,必須先繼承,再實(shí)現(xiàn) 

(2) 語法: 

    class 類名 extends 父類名 implements 父接口1,父接口2{} 

    注意:必須先 extends ,再 implements 

類與類之間存在:?jiǎn)卫^承------extends

類與接口之間存在:多實(shí)現(xiàn)------implements

接口與接口之間存在:多繼承------extends

接口的影響:

1.由于接口之間為多繼承的關(guān)系,同時(shí)類與接口之間是多實(shí)現(xiàn)的關(guān)系,所以讓多態(tài)更加多元化和復(fù)雜
2.如果強(qiáng)制類型轉(zhuǎn)換的雙方只要有一方為接口類型,則編譯一定通過,運(yùn)行分以下兩種情況:
  a.如果轉(zhuǎn)換的引用中存儲(chǔ)的實(shí)際對(duì)象類型是要轉(zhuǎn)換類型的一種,運(yùn)行通過 
  b.如果轉(zhuǎn)換的引用中存儲(chǔ)的實(shí)際對(duì)象類型不是要轉(zhuǎn)換的一種,編譯通過,但是運(yùn)行報(bào)錯(cuò),錯(cuò)誤信息:
    Java.lang.ClassCastException(類型轉(zhuǎn)換異常)

接口的語法: (JDK8.0)

(1) 默認(rèn)方法: 

    a. public default 返回值類型 方法名(形參列表){ 
            // 方法的實(shí)現(xiàn)部分 
       } 

    b. 注意:接口中方法被 default修飾代表,此方法允許帶有方法實(shí)現(xiàn)部分 
    c. 默認(rèn)方法訪問權(quán)限 為 public 
    d. 默認(rèn)方法允許被覆蓋,但是覆蓋時(shí)訪問修飾符為 public 

(2) 靜態(tài)方法: 

    a. public static 返回值類型 方法名(形參列表){ 
            // 方法的實(shí)現(xiàn)部分 
       } 

    b. 接口中靜態(tài)方法訪問權(quán)限是public

接口的語法: (JDK9.0)—(私有方法)

(1) 接口中從9.0開始,方法可以被 private修飾 

(2) 語法: 

    private 返回值類型 方法名(形參列表){ 
        // 方法的實(shí)現(xiàn) 
    } 

(3) 私有方法供接口內(nèi)部使用,通常將其他方法的共同邏輯部分提取,減少代碼冗余

接口的分類

常量接口:

接口中只有屬性、沒有方法,應(yīng)用很少

空接口:

通常稱為標(biāo)記接口,接口中沒有任何屬性和抽象;
例如:IO對(duì)象序列化時(shí)應(yīng)用

函數(shù)式接口:

接口中有且只有一個(gè)抽象方法(靜態(tài)和默認(rèn)不關(guān)注),廣泛應(yīng)用在Lambda表達(dá)式中

抽象類和接口的區(qū)別? (要牢記哦~)

在這里插入圖片描述

到此這篇關(guān)于Java詳細(xì)講解不同版本的接口語法和抽象類與接口的區(qū)別的文章就介紹到這了,更多相關(guān)Java 接口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 在SpringBoot中實(shí)現(xiàn)多種方式登錄(通過用戶名、手機(jī)號(hào)、郵箱等)的詳細(xì)指南

    在SpringBoot中實(shí)現(xiàn)多種方式登錄(通過用戶名、手機(jī)號(hào)、郵箱等)的詳細(xì)指南

    今天,我們將跳進(jìn) Spring Boot 的世界,探索如何通過 用戶名、手機(jī)號(hào)、郵箱 等多種方式實(shí)現(xiàn)登錄,而我們要做的就是為他們提供這些選擇,確保他們都能毫無阻礙地進(jìn)入我們的系統(tǒng),感興趣的小伙伴跟著小編一起來看看吧
    2024-11-11
  • Spring Boot 3 整合 Spring Cloud Gateway實(shí)踐過程

    Spring Boot 3 整合 Spring Cloud 

    本文介紹了如何使用SpringCloudAlibaba2023.0.0.0版本構(gòu)建一個(gè)微服務(wù)網(wǎng)關(guān),包括統(tǒng)一路由、限流防刷和登錄鑒權(quán)等功能,并通過一個(gè)項(xiàng)目實(shí)例進(jìn)行詳細(xì)說明,感興趣的朋友一起看看吧
    2025-02-02
  • Java下載文件中文文件名亂碼的解決方案(文件名包含很多%)

    Java下載文件中文文件名亂碼的解決方案(文件名包含很多%)

    Java下載文件時(shí),文件名中文亂碼問題通常是由于編碼不正確導(dǎo)致的,使用`URLEncoder.encode(filepath, "UTF-8")`可以解決在提示下載框中正確顯示漢字文件名的問題,但在選擇直接打開時(shí),文件名會(huì)變成亂碼,解決這個(gè)問題的方法
    2025-02-02
  • Java包機(jī)制及javadoc詳解

    Java包機(jī)制及javadoc詳解

    為了更好地組織類,Java提供了包機(jī)制,用于區(qū)別類名的命名空間,一般利用公司域名倒置作為包名,這篇文章主要介紹了Java包機(jī)制以及javadoc,需要的朋友可以參考下
    2022-10-10
  • Java?Web實(shí)現(xiàn)簡(jiǎn)易圖書管理系統(tǒng)

    Java?Web實(shí)現(xiàn)簡(jiǎn)易圖書管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Java?Web實(shí)現(xiàn)簡(jiǎn)易圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • 聊聊MultipartFile與File的一些事兒

    聊聊MultipartFile與File的一些事兒

    這篇文章主要介紹了MultipartFile與File的一些事兒,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 淺談Java實(shí)現(xiàn)回溯算法之八皇后問題

    淺談Java實(shí)現(xiàn)回溯算法之八皇后問題

    八皇后問題是一個(gè)古老而又著名的問題,是學(xué)習(xí)回溯算法的一個(gè)經(jīng)典案例。今天我們就一起來探究一下吧
    2021-06-06
  • 自定義starter引發(fā)的線上事故記錄復(fù)盤

    自定義starter引發(fā)的線上事故記錄復(fù)盤

    這篇文章主要為大家介紹了自定義starter引發(fā)的線上事故記錄復(fù)盤,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • Java多線程之間日志traceId傳遞方式

    Java多線程之間日志traceId傳遞方式

    這篇文章主要介紹了Java多線程之間日志traceId傳遞方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • java集合類遍歷的同時(shí)如何進(jìn)行刪除操作

    java集合類遍歷的同時(shí)如何進(jìn)行刪除操作

    這篇文章主要介紹了java集合類遍歷的同時(shí)如何進(jìn)行刪除操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09

最新評(píng)論

龙门县| 遵义市| 桦甸市| 木里| 晋江市| 九台市| 弥渡县| 锦屏县| 仁化县| 淳安县| 抚宁县| 乐安县| 霸州市| 漳州市| 普宁市| 沾益县| 霍山县| 济源市| 炉霍县| 环江| 新巴尔虎右旗| 德钦县| 都兰县| 如皋市| 含山县| 来凤县| 祁阳县| 沙洋县| 霞浦县| 江山市| 塔河县| 乌拉特后旗| 文昌市| 江油市| 望城县| 咸丰县| 新蔡县| 阜阳市| 兴海县| 来宾市| 荥阳市|