java中this指標的作用?

2021-08-14 05:33:39 字數 1701 閱讀 3522

一.

廢話不多說,看**:

我們定義乙個student類,用來測試,其中,student中有兩個成員變數:stuname(學生姓名),stuno(學生學號)。

執行結果:

當我們把this指標加上。

執行結果:

這是什麼意思呢?

當我們在乙個類中寫乙個方法時,當傳入的引數的引數名與該類的成員變數名

相同,並且把引數賦值給與之同名的成員變數時(如圖),

此時編譯器並不知道到底是引數賦值給成員變數,還是成員變數賦值給引數;所以就有了this指標的誕生;

當我們把this指標加上時(如圖):

這時編譯器就會知道,是把傳進來的引數賦值給成員變數。

二,說到這裡相信大家應該就明白了,那接下來我們來看看如果傳入的引數的引數名不同時,會是怎樣的? 來我們上**:

執行結果:

加上this指標之後:

執行結果:

通過以上**我們可以發現,當我們傳入的引數的引數名不同時,並不會對結果造成影響,這又是什麼情況呢? 

原來因為編譯器會隱示的給成員變數新增this指標,所以當引數不同時,照樣可以執行了。

小夥伴們懂了嗎?

不管懂不懂我也要廢話幾句。其實this指標其實就是乙個類的物件,舉個例子;如圖,我們在student類中新增乙個方法交usethis(),並在方法裡用this指標呼叫該類的其他方法;

執行結果:

這又是什麼原因呢?

當我們用student定義乙個物件時,

如圖中的s,此時s就會有乙個屬於自己的this指標,並指向他本身,在類的內部就可以用this指標(像一般的物件呼叫方法一樣)呼叫類的方法。

三,以上是我對this指標的一些理解,希望對你有幫助,當你理解了this指標之後,在之後學習其他語言都會遇到,到時候你就能輕鬆的理解這個東西了。

四,  

Java中 Override的作用

override有注釋文件的作用,可有可無有點像雞肋 但它對於程式設計粗心的人可是個很人性化的功能 如果想重寫父類的方法,比如tostring 方法的話,在被過載的方法前面加上 override 這樣編譯的時候系統可以幫你檢查方法的正確性 如下 override public string tost...

Java中 Override的作用

但它對於程式設計粗心的人可是個很人性化的功能 如果想重寫父類的方法,比如tostring 方法的話,在被過載的方法前面加上 override 這樣編譯的時候系統可以幫你檢查方法的正確性 如下 override public string tostring 這是正確的 如果將tostring寫成tos...

Java中 Override的作用

override有注釋文件的作用,可有可無有點像雞肋 但它對於程式設計粗心的人可是個很人性化的功能 如果想重寫父類的方法,比如tostring 方法的話,在被過載的方法前面加上 override 這樣編譯的時候系統可以幫你檢查方法的正確性 如下 override public string tost...