W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Java有一個(gè)名為 this
的關(guān)鍵字。它是對(duì)類的當(dāng)前實(shí)例的引用。
它只能在實(shí)例的上下文中使用。
以下代碼顯示如何使用this
關(guān)鍵字。
public class Main { int varA = 1; int varB = varA; // Assign value of varA to varB int varC = this.varA; // Assign value of varA to varC }
當(dāng)實(shí)例變量或類變量被具有相同名稱的另一個(gè)變量隱藏時(shí),我們需要使用關(guān)鍵字this
限定一個(gè)實(shí)例變量,并使用類名稱定義一個(gè)類變量。
Java 中為解決變量的命名沖突和不確定性問題,引入關(guān)鍵字 this 代表其所在方法的當(dāng)前對(duì)象的引用:
this 只能用在構(gòu)造器或者方法中,用于獲得調(diào)用當(dāng)前的構(gòu)造器方法的對(duì)象引用??梢院腿魏蔚膶?duì)象引用一樣來處理這個(gè)this對(duì)象。
this.
?,而直接使用方法名 + 參數(shù)。因?yàn)?Java 編譯器會(huì)幫我們加上。下面的代碼顯示了如何使用 this 關(guān)鍵字來引用一個(gè)實(shí)例變量,它的名字被一個(gè)局部變量隱藏。
public class Main { int num = 2014; // An instance variable void printNum(int num) { System.out.println("Parameter num: " + num); System.out.println("Instance variable num: " + this.num); } public static void main(String[] args) { Main tt6 = new Main(); tt6.printNum(2000); } }
上面的代碼生成以下結(jié)果。
下面的代碼顯示了如何使用 this 關(guān)鍵字來引用一個(gè)實(shí)例變量,它的名字被一個(gè)局部變量隱藏。
例如,以下代碼非常常見:
Student 類聲明了一個(gè)實(shí)例變量 id。在其 setId() 方法中,它還命名參數(shù) id,并使用 this.id 引用實(shí)例變量。
它還使用 this.id 在其 getId() 方法中引用實(shí)例變量id。
public class Student { private int id; // An instance variable public void setId(int id) { this.id = id; } public int getId() { return this.id; } }
我們可以使用關(guān)鍵字 this
來限定實(shí)例方法名稱。以下代碼顯示使用關(guān)鍵字 this 調(diào)用 m2() 方法的 m1() 方法。
public class Main { void m1() { // Invoke the m2() method this.m2(); // same as "m2();" } void m2() { // do something } }
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: