Java中this關鍵字原理及作用

2021-09-06 21:03:23 字數 835 閱讀 6997

一:this關鍵字的作用

*當方法的區域性變數和類的變數名重名時,在不使用this的情況下會有什麼結果?

person

string name;//定義當前person名字

//引數name是目標名字

//成員變數name是自己名字

public void sayhello(string name)

demo01person

public static void main(string args)
執行結果:王思聰,你好。我是王思聰

總結:根據「就近原則」,優先使用區域性變數。

*當方法的區域性變數和類的變數名重名時,使用this的情況下會有什麼結果?

person demo01person 執行結果:王思聰,你好。我是王健林

總結:當我們使用this.成員變數名時,就可以訪問本類當中的成員變數。

由此我們可以總結出:使用this關鍵字可以準確的進行屬性的標記

二:this關鍵字的原理

*跟著上面的** 我們列印一下person和方法中的this的位址

person demo01person 列印結果:demo01.person@7852e922 demo01.person@7852e922

從結果我們可以看出,person和方法中this的位址是一樣的。

由此我們可以總結出:通過誰呼叫的方法,誰就是this

java中this關鍵字

1 this 關鍵字 疑問 建立的p 物件為什麼沒有值。解答 name 與age 在指定的建構函式裡面已經存在,當name name 這個語句執行的時候,如果jvm 在該方法內能尋找到該變數,則不會去尋找成員變數,那麼要想指定給成員變數或物件的屬性進行初始化賦值,那麼必須指定name 是成員屬性。1...

static關鍵字 java關鍵字

先按照宣告順序初始化基類靜態變數和靜態 塊,接著按照宣告順序初始化子類靜態變數和靜態 塊,而後按照宣告順序初始化基類普通變數和普通 塊,然後執行基類建構函式,接著按照宣告順序初始化子類普通變數和普通 塊,最後執行子類建構函式。import static com.test.test1.fu.say i...

Java中的關鍵字

abstract 抽象的 continue 繼續 for 當 的時候 new 新建 switch 轉換 assert 斷言 default 預設 if 如果 package 打包 synchronized 同步 boolean 布林 do 做 goto 跳轉到 private 私有的 this 這個...