之前一值無法了解this表示什麼意思,只知道在C++裏頭this是指向物件的指標。
當run程式時,執行到this這行時候,this指向現在正在執行的物件。
package this_use;
public class this_use {
int day= 32;
int month = 13;
public void cal(int day,int month)
{
day=1003;
//day屬於cal的區域變數,main的地方會印出32
month =2332222;
//在main的地方會印出13
// this.day =100;
//當跑程式時this表示obj1,代表外頭的那一個day(class 底下的那個day),main的地方會印出100。
this.month= 22222;
//代表class底下的那個monty,main的地方會印出22222
System.out.println(day);//印1003
System.out.println(month);//印2332222
注意:this.month同等於this_use.this.month
}
public static void main(String[] args) {
this_use obj1 = new this_use();
obj1.cal(11,22);
System.out.println(obj1.day);//印出32,this註解拿掉會印100
System.out.println(obj1.month);//印出13,this註解拿掉會印22222
}
}
2.當類別有兩個以上的建構式時,
我們可以在其中一個建構式裡用this()來呼叫其他的建構式。this()一定要寫在建構式內第一行位置。
據說這種好處是可以省下不少coding時間。
3.
沒有留言:
張貼留言