1、在建構函式中this用於限定被相同的名稱隱藏的成員,例如:
public class Student{
public Student(string name, string age){
this.name = name;
this.age = age;
}}
2、將物件作為引數傳遞到其他方法時也要用this表達,例如:fun(this)。
3、可以透過this[]來宣告索引器,例如:
public int this [int param]{
get{return array[param];}
set{array[param]=value;}
}
擴充套件資料:
在例項程式碼中,類的私有成員變數name與類成員方法的入參名稱相同,所以在函式體中,類的私有成員變數name被入參name隱藏,要想在函式體中使用該私有成員變數,需要使用this關鍵字來指定,作用就是告訴編譯器,此處的name為類的私有成員變數而不是函式的入參name。
this代表的是呼叫這個函式的物件的引用,而靜態方法是屬於類的,不屬於物件,靜態方法成功載入後,物件還不一定存在。靜態方法不可使用this因為靜態方法不針對任何例項物件。例項物件呼叫靜態方法會因引數中多出一個指向自己的指標(this)而發生錯誤。
1、在建構函式中this用於限定被相同的名稱隱藏的成員,例如:
public class Student{
public Student(string name, string age){
this.name = name;
this.age = age;
}}
2、將物件作為引數傳遞到其他方法時也要用this表達,例如:fun(this)。
3、可以透過this[]來宣告索引器,例如:
public int this [int param]{
get{return array[param];}
set{array[param]=value;}
}
擴充套件資料:
在例項程式碼中,類的私有成員變數name與類成員方法的入參名稱相同,所以在函式體中,類的私有成員變數name被入參name隱藏,要想在函式體中使用該私有成員變數,需要使用this關鍵字來指定,作用就是告訴編譯器,此處的name為類的私有成員變數而不是函式的入參name。
this代表的是呼叫這個函式的物件的引用,而靜態方法是屬於類的,不屬於物件,靜態方法成功載入後,物件還不一定存在。靜態方法不可使用this因為靜態方法不針對任何例項物件。例項物件呼叫靜態方法會因引數中多出一個指向自己的指標(this)而發生錯誤。