類別中使用 this

加上this 的用途是強調,於程式碼當中可以這麼做:

this . 資料成員名稱 ;
this . 函數成員名稱 ;

使用上一篇修改後的範例作為this 的示範:

class CRectangle {  //定義矩形類別
	//資料成員
	int width;  //寬
	int height; //長
	//函數成員
	int area(){   //計算面積
		System.out.println("面積= "+this.width*this.height);
		}
	int perimeter(){  //計算周長
		System.out.println("周長= "+2*(this.width+this.height);
		}
        int show_all(){  //在show_all 函數中 呼叫計算面積的函數與計算周長的函數
                System.out.println("寬= "+this.width+" ,長= "+this.height);
                this.area();  //呼叫計算面積的函數
                this.perimeter(); //呼叫計算周長的函數
                }

}
public class ch08_4 {

	public static void main(String[] args) {
		CRectangle book;   //宣告CRectangle類別的變數 book
		book= new CRectangle(); //建立物件

		book.width=10;  //給寬一個值
		book.height=5;  //給長一個值
		book.show_all(); //呼叫show_all()
	}
}

this 代表 book

那麼一定會疑惑,那除了強調之外,沒有其他用途嗎?

在這邊舉另外一個簡單例子:

name(String book){
book=book;
}

如果在程式中,屬性的值與傳入的值都相同的話;兩者都會被認為是參數,所以book的值並不會被改變。

若改為以下則可以正常運作了:

name(String book){
this.book=book;
}

Last updated