一: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 這個...