面試必備!解密this與super:職場新手必讀!

哈嘍大家好!小米今天要和大家聊一個有趣的話題,就是關于面試中經常被問到的一個問題:"this" 與 "super" 之間有什么區(qū)別?對于很多即將踏入職場的小伙伴們來說,這可是一個需要了解透徹的問題哦!廢話不多說,我們馬上進入正題吧!
this 是什么?
首先,我們來了解一下 this 是什么。在面向對象編程中,this 是一個關鍵字,代表了當前對象的引用。當我們調用一個對象的方法或訪問其屬性時,可以使用 this 關鍵字來指向當前正在操作的對象。這樣一來,我們就能夠在方法內部訪問和修改當前對象的屬性,或者調用其他方法。
比如說,我們有一個類叫做 "Person",其中有一個方法 "sayHello":

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

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

this 和 super 的區(qū)別
那么,this 和 super 到底有什么區(qū)別呢?下面我們來總結一下:
作用對象不同:this 作用于當前對象,用于訪問自身的屬性和方法;而 super 作用于父類,用于訪問父類的屬性和方法。
使用場景不同:this 常用于方法內部,用于區(qū)分局部變量和實例變量,或者在構造方法中調用其他構造方法;super 常用于子類重寫父類方法時,以及在子類構造方法中調用父類構造方法。
關聯對象不同:this 關聯的是當前對象,它指向調用方法的那個對象;而 super 關聯的是父類對象,它用于在子類中訪問父類的成員。
調用方法不同:this 調用的是當前類的方法;super 調用的是父類的方法。
END
通過今天的分享,我們詳細地了解了 this 和 super 這兩個關鍵字在面向對象編程中的作用和區(qū)別。希望大家能夠在面試中更加自信地回答關于這兩個關鍵字的問題啦!
記得,面試除了技術知識,溝通能力和表達清晰也是非常重要的哦!如果你對這個話題還有什么疑問,歡迎在評論區(qū)留言,我都會一一解答的~ 同時,也歡迎大家分享自己的面試經驗,一起交流,共同進步!
好啦,今天的分享就到這里啦!希望大家都能在自己的職業(yè)道路上越走越遠,不斷學習和成長!我們下期再見,拜拜啦~
如有疑問或者更多的技術分享,歡迎關注我的微信公眾號“知其然亦知其所以然”!
