Java學習:“this”的引用及類變數、例項變數和區域性變數
阿新 • • 發佈:2019-02-11
class caculate {
static int staticVar = 0; //類變數、靜態變數
static final float STATIC_CONSTANT = 1; //類變數、靜態常量
int xPos, yPos; //例項變數
double distance(int xPos, int yPos) {
double dis = Math.sqrt(xPos * xPos + yPos * yPos); //區域性變數
this.xPos = xPos;
this.yPos = yPos;
return dis;
}
}
類變數(class var):分為靜態變數和靜態常量,static為關鍵字。
靜態變數:一個例項更改其值,則其他例項也進行了相應的更改。staticVar
static 後加上final,則為常量,通常大寫,只可訪問,不可被例項更改。STATIC_CONSTANT 例項變數(instance var):類中定義的變數。xPos yPos區域性變數(local var):方法內定義的變數。 xPos yPos(distance方法內的引數) dis
"this"的使用: this.xPos = xPos
雖然在distance方法外定義了例項變數xPos和yPos,但由於在distance方法中定義了局部變數xPos和yPos,因而在方法內計算dis值的xPos和yPos為區域性變數值,而非例項變數值,也就是說在方法內這兩個區域性變數覆蓋了方法外定義的例項變數xPos和yPos 。所以為了在方法內使用例項變數xPos和yPos且不與區域性變數xPos和yPos產生衝突,則使用this.xPos顯示引用來表示例項變數。
只要希望向某個其他方法傳遞對“當前”物件的一個引用,就都可以使用this引用。