關於JAVA中this關鍵字的指向問題網絡
在我剛開始學習JAVA時,JAVA中的this關鍵字給了我很大的疑惑,最終在網絡上搜索了好久才弄明白this的用法,不得不說學習的過程當中老是有一些挑戰,幸好有網絡,感謝國家優秀的網絡環境。閒話很少說,直接開始解釋this關鍵字的指向問題。函數
先來看一段簡單的代碼學習
這是一段很是簡單的代碼,在構造方法中出現了this.name=name這種寫法。有些人可能很是不解,爲何構造方法的形參和私有屬性名如出一轍,這段語句究竟是什麼意思,很顯然沒有弄懂this的意義就會有這種疑問。你們可能學過計算機網絡,計算機網絡這門課程中講過一個特殊的地址:0.0.0.0。這個地址就相似於this的做用,進來的是什麼地址,這個0.0.0.0就是什麼地址。一樣的,這個this指向的就是當前對象,表示的是你使用的當前對象。上面的代碼我在構造函數中輸出了對象的地址,經過main方法new兩個實例對象,看看它們的地址。this
輸出的結果以下spa
很顯然兩個對象的地址不一樣,我是使用this在無參構造中輸出對象的,這也能夠說明this指向的是當前對象,指向的是你使用的對象。你使用的是哪一個實例對象,那麼this就指向的是哪一個實例對象。計算機網絡