很多人一提起它,就說「當前物件」,可到底什麼是當前物件,是什麼當前物件,他自己也不清楚。
this(隱式引數)
【例1】
public【例2】class
student
//構造方法
public student(string name,int
id)
public
student(string name)
public
student()
//動態的行為
public
void
study()
public
void
sayhello(string sname)
}
/**執行結果:* 本示例為了說明this的三種用法! */
package
test;
public
class
thistest
//第二個構造器:有乙個string型形參
thistest(string s)
//第三個構造器:有乙個int型形參和乙個string型形參
thistest(int
i,string s)
public
thistest increment()
public
static
void
main(string args)
}
int constructor i——this.i: 10——11i-1:9this.i+1:12string constructor: ok結果string constructor: ok again!int constructor: 21string constructor: ok again!
14
分析:細節問題注釋已經寫的比較清楚了,這裡不在贅述,只是總結一下,其實this主要要三種用法:
1、表示對當前物件的引用!
2、表示用類的成員變數,而非函式引數,注意在函式引數和成員變數同名是進行區分!其實這是第一種用法的特例,比較常用,所以那出來強調一下。
3、用於在構造方法中引用滿足指定引數型別的構造器(其實也就是構造方法)。但是這裡必須非常注意:只能引用乙個構造方法且必須位於第一位!
還有就是注意:this不能用在static方法中!所以甚至有人給static方法的定義就是:沒有this的方法!雖然誇張,但是卻充分說明this不能在static方法中使用!
物件導向程式設計 static關鍵字
物件導向程式設計 static關鍵字 static關鍵字總結 class static 2,靜態方法 a,和靜態變數相同,靜態方法同樣可以在不建立物件下,通過類名直接呼叫.b,在靜態方法裡只能直接呼叫同類中其它的靜態成員 包括變數和方法 而不能直接訪問類中的非靜態成員。這是因為,對於非靜態的方法和變...
c primer 物件導向程式設計關鍵字
1.虛函式 virtual關鍵字來定義,主要是基類的派生類,作用是為了派生類可以在相同函式名的時候,可以有自己的功能,而不用執行基類的行為。class pp void pp test 結果是 test tt tt 2.關鍵字 static 靜態成員 靜態成員如果有n個同類的物件,那麼每乙個物件都分別...
物件導向關鍵字
this關鍵字 this是一種特殊的引用,指向當前物件 this的兩種使用方法 1 如果發生區域性變數可以成員變數命名衝突時,可以通過this.成員變數名的方式區分例項變數和區域性變數 2 乙個構造方法中需要呼叫同乙個類的另乙個構造方法,可以通過this 的方式呼叫,但this 必須要書寫在第一行 ...