面試必備!解密This與Super:職場(chǎng)新手必讀!
哈嘍大家好!小米今天要和大家聊一個(gè)有趣的話題,就是關(guān)于面試中經(jīng)常被問到的一個(gè)問題:"this" 與 "super" 之間有什么區(qū)別?對(duì)于很多即將踏入職場(chǎng)的小伙伴們來說,這可是一個(gè)需要了解透徹的問題哦!廢話不多說,我們馬上進(jìn)入正題吧!
this 是什么?
首先,我們來了解一下 this 是什么。在面向?qū)ο缶幊讨校瑃his 是一個(gè)關(guān)鍵字,代表了當(dāng)前對(duì)象的引用。當(dāng)我們調(diào)用一個(gè)對(duì)象的方法或訪問其屬性時(shí),可以使用 this 關(guān)鍵字來指向當(dāng)前正在操作的對(duì)象。這樣一來,我們就能夠在方法內(nèi)部訪問和修改當(dāng)前對(duì)象的屬性,或者調(diào)用其他方法。
比如說,我們有一個(gè)類叫做 "Person",其中有一個(gè)方法 "sayHello":

在這個(gè)例子中,this.name 就是指向了當(dāng)前對(duì)象的 name 屬性。如果我們創(chuàng)建了一個(gè)名為 "小米" 的 Person 對(duì)象,調(diào)用其 sayHello 方法,就會(huì)輸出 "你好, 我叫 小米"。
super 又是什么?
接下來,讓我們來了解一下 super 關(guān)鍵字。super 也是一個(gè)關(guān)鍵字,它表示父類(或者說超類)的引用。在繼承關(guān)系中,子類可以使用 super 關(guān)鍵字來訪問父類的成員,包括屬性和方法。這在擴(kuò)展父類的功能或者重寫父類方法時(shí)非常有用。
舉個(gè)例子,我們有一個(gè)父類 "Animal" 和一個(gè)子類 "Dog":

在這個(gè)例子中,Dog 類重寫了父類 Animal 的 makeSound 方法,并使用 super.makeSound() 調(diào)用了父類的方法。這樣一來,輸出就會(huì)是:

this 和 super 的區(qū)別
那么,this 和 super 到底有什么區(qū)別呢?下面我們來總結(jié)一下:
- 作用對(duì)象不同:this 作用于當(dāng)前對(duì)象,用于訪問自身的屬性和方法;而 super 作用于父類,用于訪問父類的屬性和方法。
- 使用場(chǎng)景不同:this 常用于方法內(nèi)部,用于區(qū)分局部變量和實(shí)例變量,或者在構(gòu)造方法中調(diào)用其他構(gòu)造方法;super 常用于子類重寫父類方法時(shí),以及在子類構(gòu)造方法中調(diào)用父類構(gòu)造方法。
- 關(guān)聯(lián)對(duì)象不同:this 關(guān)聯(lián)的是當(dāng)前對(duì)象,它指向調(diào)用方法的那個(gè)對(duì)象;而 super 關(guān)聯(lián)的是父類對(duì)象,它用于在子類中訪問父類的成員。
- 調(diào)用方法不同:this 調(diào)用的是當(dāng)前類的方法;super 調(diào)用的是父類的方法。
END
通過今天的分享,我們?cè)敿?xì)地了解了 this 和 super 這兩個(gè)關(guān)鍵字在面向?qū)ο缶幊讨械淖饔煤蛥^(qū)別。希望大家能夠在面試中更加自信地回答關(guān)于這兩個(gè)關(guān)鍵字的問題啦!
記得,面試除了技術(shù)知識(shí),溝通能力和表達(dá)清晰也是非常重要的哦!如果你對(duì)這個(gè)話題還有什么疑問,歡迎在評(píng)論區(qū)留言,我都會(huì)一一解答的~ 同時(shí),也歡迎大家分享自己的面試經(jīng)驗(yàn),一起交流,共同進(jìn)步!





















