物件導向程式設計 八 this關鍵字

2021-09-09 04:20:06 字數 1289 閱讀 5791

很多人一提起它,就說「當前物件」,可到底什麼是當前物件,是什麼當前物件,他自己也不清楚。

this(隱式引數)

【例1】

public

class

student

//構造方法

public student(string name,int

id)

public

student(string name)

public

student()

//動態的行為

public

void

study()

public

void

sayhello(string sname)

}

【例2】

/**

* 本示例為了說明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 必須要書寫在第一行 ...