本文目錄一覽:
java 中的this關鍵字的幾種用法
當成員變量和局部變量重名時,在方法中使用this時,表示的是該方法所在類中的成員變量。(this是當前對象自己)
在這個例子中,構造函數Hello中,參數s與類Hello的成員變量s同名,這時如果直接對s進行操作則是對參數s進行操作。若要對類Hello的成員變量s進行操作就應該用this進行引用。運行結果的第一行就是直接對構造函數中傳遞過來的參數s進行打印結果; 第二行是對成員變量s的打印;第三行是先對成員變量s賦傳過來的參數s值後再打印,所以結果是HelloWorld!而第四行是主函數中直接打印類中的成員變量的值,也可以驗證成員變量值的改變。
把自己當作參數傳遞時,也可以用this.(this作當前參數進行傳遞)
在這個例子中,對象A的構造函數中,用new B(this)把對象A自己作為參數傳遞給了對象B的構造函數。
有時候,我們會用到一些內部類和匿名類,如事件處理。當在匿名類中用this時,這個this則指的是匿名類或內部類本身。這時如果我們要使用外部類的方法和變量的話,則應該加上外部類的類名。如:
在上面這個例子中, thread 是一個匿名類對象,在它的定義中,它的 run 函數里用到了外部類的 run 函數。這時由於函數同名,直接調用就不行了。這時有兩種辦法,一種就是把外部的 run 函數換一個名字,但這種辦法對於一個開發到中途的應用來說是不可取的。那麼就可以用這個例子中的辦法用外部類的類名加上 this 引用來說明要調用的是外部類的方法 run。
在構造函數中,通過this可以調用同一類中別的構造函數。如:
為了更確切的說明this用法,另外一個例子為:
值得注意的是:
1:在構造調用另一個構造函數,調用動作必須置於最起始的位置。
2:不能在構造函數以外的任何函數內調用構造函數。
3:在一個構造函數內只能調用一個構造函數。
this同時傳遞多個參數。
代碼中的showtest(this),這裡的this就是把當前實例化的p傳給了showtest()方法,從而就運行了。
java中「this」的用法是什麼?
this表示的是當前類的屬性和方法,一般多用在
傳遞參數名和當前類相同時
用來區分!
正如你上面的例子!
java 的this的運用?
在java中,this關鍵字有很多種用法。 在java中,這是一個引用當前對象的引用變量。
java this關鍵字的用法如下:
this關鍵字可用來引用當前類的實例變量。
this關鍵字可用於調用當前類方法(隱式)。
this()可以用來調用當前類的構造函數。
this關鍵字可作為調用方法中的參數傳遞。
this關鍵字可作為參數在構造函數調用中傳遞。
this關鍵字可用於從方法返回當前類的實例。
建議:如果你是java初學者,只學習 this 關鍵字的前三個用法就可以了。
更詳細可以查詢一些教程,例如:
java中this的用法?
java中this有兩種用法:
1、代表當前類
public class Dog{
private String name;
private float age;
public setName(String name){
this.name = name;
}
…….
}
這裡的this就代表的當前的這個Dog類。this.name可以理解為dog.name,只是理解,不是等於。
2、在構造函數中的使用
public class Dog{
private String name;
private int age;
//有一個參數的構造函數
public Dog(String name){
this.name = name;
}
public Dog(String name,int age){
this.name = name;
this.age = age;
}
//這個無參構造方法里調用的有兩個參數的構造方法,這個也就是this的第二種用法了!
public Dog(){
this(“nihao”,20);
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/307388.html