手把手教你深入理解this關鍵字及其使用
this關鍵字
this關鍵字,兩點作用:①特指引用物件 自身,可以當作物件來使用它。方法被哪一個物件呼叫,this就指代哪一個物件。
②當構造方法過載了好多時,可以在一個構造方法內部呼叫另外一個構造方法
下面我們對這兩個作用進行非常通俗的解釋:
作用①
作用①的詳細學術解釋:可以用this引用一個隱藏的資料域,隱藏的靜態變數可以簡單的通過類名來呼叫,隱藏的例項變數要使用this來呼叫。
①的用途最常見的是用在set方法中,我們想一下,父類中用private 修飾的變數,子類是無法訪問的,更談不上修改了,所以要通過set方法來修改,如圖是set方法:
在set方法中,用this修飾的name是成員變數,未被this修飾的是區域性變數,使用this關鍵字我們解決了當區域性變數和成員變數同名的時候,區域性變數隱藏成員變數的問題(即成員變數被隱藏了),在set方法中形參的名字通常會設定成為跟父類中我們要改變的值的名字相同,這時候如果我們直接用name=name;或者age=age;肯定是不行的,因為系統會認為這他們都是剛傳遞過來的形參,從而造成這句話沒有意義。所以this的作用就體現出來了,用this修飾的age就是特指的父類中原有的age,從而用set方法可以給age賦個新值。
作用②
https://editor.csdn.net/md/?articleId=110749714
相關文章
- 深入理解synchronized關鍵字synchronized
- 深入理解Java中的volatile關鍵字Java
- 深入彙編指令理解Java關鍵字volatileJava
- 深入理解Swift中static和class關鍵字Swift
- Java面試題,深入理解final關鍵字Java面試題
- final關鍵字深入解析
- 深入解析volatile關鍵字
- javascript成神之路(4):深入理解this關鍵字,是的就是thisJavaScript
- Java併發專題(三)深入理解volatile關鍵字Java
- 快速理解 volatile 關鍵字
- 深入理解Java記憶體模型JMM與volatile關鍵字Java記憶體模型
- 深入分析 synchronized 關鍵字synchronized
- Java關鍵字volatile的理解Java
- iOS @property及其關鍵字學習記錄iOS
- 完全理解JavaScript中的this關鍵字JavaScript
- 兩張圖理解volatile關鍵字
- 使用 Synchronized 關鍵字synchronized
- 深入瞭解 Java 的 volatile 關鍵字Java
- 深入聊一下const關鍵字
- 深入理解ThreadLocal及其變種thread
- c語言static關鍵字的理解C語言
- typescript 中的 infer 關鍵字的理解TypeScript
- 深入理解Java多執行緒與併發框(第⑦篇)——volatile 關鍵字Java執行緒
- DM 關鍵字、遮蔽關鍵字
- 深入理解TCP:解答這10個關鍵問題TCP
- 「譯」 MotionLayout 介紹 (Part IV) 深入理解關鍵幀
- Java™ 教程(使用super關鍵字)Java
- let關鍵字和const關鍵字
- final關鍵字和static關鍵字
- 手把手教你用java實現二分查詢樹及其相關操作Java
- [原譯]實現IEnumerable介面&理解yield關鍵字
- 在Java中this關鍵字的使用Java
- 1_static關鍵字的使用
- mybatis exists 中使用代替in關鍵字MyBatis
- Java中final關鍵字如何使用?Java
- 深入理解 JavaScript 單例模式及其應用JavaScript單例模式
- 關鍵字
- this關鍵字