1. 程式人生 > >Java學習:“this”的引用及類變數、例項變數和區域性變數

Java學習:“this”的引用及類變數、例項變數和區域性變數

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引用。