在實例和關鍵字中,我們都見過this和super,關于它們的使用已經在往期文章中有過介紹。兩者都能參與構造方法和實例,在知識點上的聯系密不可分。
1.相同點
(1)this和super都是與實例有關的
使用this和super可以訪問實例成員和類成員(雖然通過this和super可以訪問類成員,但不建議使用)
因此this和super都不能出現在static方法中和static代碼塊中(類初始化器)
(2)this和super都可以用于調用構造方法
當通過this或super調用構造方法時,它們必須位于構造方法的第一行
同一個構造方法內部this或super不能同時出現
2.不同
(1)代表的對象不同:
this: 指本類調用者這個對象
super: 代表父類對象的引用
(2)前提:
this:沒有繼承也可以使用
super:只能在繼承條件才可以使用
(3)構造方法:
this();本類的構造方法
super();父類的構造方法
(4)作用不同
this 的作用
一個實例變量可以通過 this. 賦值另一個實例變量;一個實例方法可以通過 this. 調用另一個實例方法;甚至一個構造方法也可以通過 this. 調用另一個構造方法。
super的作用
普通的直接引用,與this類似,super相當于是指向當前對象的父類。
子類中的成員變量或方法與父類中的成員變量或方法同名。
以上就是java中this和super的相同、不同點的解析,都為純記憶的理論知識,小伙伴們在學習的時候要牢固掌握和注意區分。更多關于“Java培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓經驗,課程大綱更科學更專業,有針對零基礎的就業班,有針對想提升技術的好程序員班,高品質課程助力你實現java程序員夢想。