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

Java中super與this關(guān)鍵字的用途及區(qū)別詳解

 更新時(shí)間:2025年04月28日 08:31:36   作者:暮乘白帝過(guò)重山  
這篇文章主要介紹了Java中super與this關(guān)鍵字的用途及區(qū)別的相關(guān)資料,super和this是Java中用于引用父類和當(dāng)前對(duì)象的特殊關(guān)鍵字,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

super關(guān)鍵字

super是Java中的一個(gè)引用變量,用于引用直接父類對(duì)象。

主要用途:

  • 訪問(wèn)父類的成員變量:當(dāng)子類和父類有同名變量時(shí)

    super.variableName;
  • 調(diào)用父類的方法:特別是當(dāng)子類重寫了父類方法時(shí)

    super.methodName();
  • 調(diào)用父類的構(gòu)造器:必須在子類構(gòu)造器的第一行

    super();
    // 或
    super(parameters);

this關(guān)鍵字

this是Java中的一個(gè)引用變量,用于引用當(dāng)前對(duì)象。

主要用途:

  • 引用當(dāng)前對(duì)象的成員變量:解決局部變量與成員變量同名的問(wèn)題

    this.variableName = variableName;
  • 調(diào)用當(dāng)前類的方法:明確調(diào)用當(dāng)前類的方法

    this.methodName();
  • 調(diào)用當(dāng)前類的構(gòu)造器:必須在構(gòu)造器的第一行

    this();
    // 或
    this(parameters);
  • 作為參數(shù)傳遞:將當(dāng)前對(duì)象作為參數(shù)傳遞

    method(this);

super與this的區(qū)別

特性superthis
引用對(duì)象父類對(duì)象當(dāng)前對(duì)象
使用場(chǎng)景主要用于繼承關(guān)系中可用于任何類中
調(diào)用構(gòu)造器必須位于子類構(gòu)造器第一行必須位于構(gòu)造器第一行
訪問(wèn)權(quán)限只能訪問(wèn)父類可見(jiàn)的成員可以訪問(wèn)當(dāng)前類所有成員
鏈?zhǔn)秸{(diào)用不能鏈?zhǔn)秸{(diào)用(super.super非法)可以鏈?zhǔn)秸{(diào)用(this.this非法)
靜態(tài)上下文不能在靜態(tài)方法/塊中使用不能在靜態(tài)方法/塊中使用

代碼示例

class Parent {
    String name = "Parent";
    
    void display() {
        System.out.println("Parent's display");
    }
}

class Child extends Parent {
    String name = "Child";
    
    Child() {
        this("Default"); // 調(diào)用本類的另一個(gè)構(gòu)造器
    }
    
    Child(String name) {
        super(); // 調(diào)用父類構(gòu)造器
        this.name = name;
    }
    
    void display() {
        System.out.println("Child's display");
    }
    
    void show() {
        System.out.println(super.name); // 訪問(wèn)父類的name
        System.out.println(this.name);  // 訪問(wèn)本類的name
        super.display();               // 調(diào)用父類的display
        this.display();                 // 調(diào)用本類的display
    }
}

public class Main {
    public static void main(String[] args) {
        Child child = new Child("Test");
        child.show();
    }
}

輸出結(jié)果:

Parent
Test
Parent's display
Child's display

總結(jié)

  • 使用super主要是為了在子類中明確訪問(wèn)父類的成員,避免與子類成員混淆

  • 使用this主要是為了在類內(nèi)部明確訪問(wèn)當(dāng)前對(duì)象的成員,避免與局部變量混淆

  • 兩者都可以用于構(gòu)造器調(diào)用,但都必須位于構(gòu)造器的第一行

  • 在靜態(tài)上下文中,兩者都不能使用

到此這篇關(guān)于Java中super與this關(guān)鍵字的用途及區(qū)別詳解的文章就介紹到這了,更多相關(guān)Java中super與this關(guān)鍵字內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JVM類運(yùn)行機(jī)制實(shí)現(xiàn)原理解析

    JVM類運(yùn)行機(jī)制實(shí)現(xiàn)原理解析

    這篇文章主要介紹了JVM類運(yùn)行機(jī)制實(shí)現(xiàn)原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12
  • java中MultipartFile和File最簡(jiǎn)單的互相轉(zhuǎn)換示例

    java中MultipartFile和File最簡(jiǎn)單的互相轉(zhuǎn)換示例

    這篇文章主要給大家介紹了關(guān)于java中MultipartFile和File最簡(jiǎn)單的互相轉(zhuǎn)換的相關(guān)資料,MultipartFile和File都是Java中用于處理文件上傳的類,MultipartFile用于處理上傳的文件,File用于處理本地磁盤上的文件,需要的朋友可以參考下
    2023-09-09
  • SpringBoot實(shí)現(xiàn)無(wú)限級(jí)評(píng)論回復(fù)的項(xiàng)目實(shí)踐

    SpringBoot實(shí)現(xiàn)無(wú)限級(jí)評(píng)論回復(fù)的項(xiàng)目實(shí)踐

    本文主要介紹了SpringBoot實(shí)現(xiàn)無(wú)限級(jí)評(píng)論回復(fù)的項(xiàng)目實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • SpringBoot中的@ConditionalOnMissingBean注解使用詳解

    SpringBoot中的@ConditionalOnMissingBean注解使用詳解

    這篇文章主要介紹了SpringBoot中的@ConditionalOnMissingBean注解使用詳解,@ConditionalOnMissingBean作用在@Bean定義上,也就是說(shuō)在容器加載它作用的Bean時(shí),檢查容器中是否存在目標(biāo)類型,需要的朋友可以參考下
    2024-01-01
  • Springboot FeignClient調(diào)用Method has too many Body parameters解決

    Springboot FeignClient調(diào)用Method has too m

    本文主要介紹了Springboot FeignClient微服務(wù)間調(diào)用Method has too many Body parameters 解決,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Java和Android崩潰捕獲機(jī)制

    Java和Android崩潰捕獲機(jī)制

    這篇文章主要為大家介紹了Java和Android崩潰捕獲機(jī)制詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • java中switch選擇語(yǔ)句代碼詳解

    java中switch選擇語(yǔ)句代碼詳解

    這篇文章主要介紹了java中switch選擇語(yǔ)句代碼詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • Java實(shí)戰(zhàn)之飛翔的小鳥小游戲

    Java實(shí)戰(zhàn)之飛翔的小鳥小游戲

    這篇文章主要介紹了Java實(shí)戰(zhàn)之飛翔的小鳥小游戲,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • idea自定義快捷代碼生成模板的方法

    idea自定義快捷代碼生成模板的方法

    這篇文章主要介紹了idea自定義快捷代碼生成模板的方法,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Spring Boot整合JWT的實(shí)現(xiàn)步驟

    Spring Boot整合JWT的實(shí)現(xiàn)步驟

    本文主要介紹了Spring Boot整合JWT,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08

最新評(píng)論

衡南县| 三门峡市| 广南县| 泰宁县| 深泽县| 青阳县| 大埔区| 盖州市| 宜川县| 那曲县| 南阳市| 蓬莱市| 莲花县| 嘉定区| 隆回县| 常熟市| 宽城| 拜城县| 周口市| 沛县| 昌都县| 滦平县| 大新县| 道真| 柳州市| 穆棱市| 宁明县| 恭城| 凌海市| 彭泽县| 无棣县| 古浪县| 郎溪县| 连城县| 西昌市| 桃园市| 宿松县| 临武县| 紫金县| 陇川县| 昭平县|