Java中this關(guān)鍵字有多種常見用法,以下是其中幾個:
引用當(dāng)前對象
this關(guān)鍵字可以用于引用當(dāng)前對象。在一個對象的方法中,可以使用this關(guān)鍵字來引用該對象本身。例如:
public class Person {
private String name;
public void setName(String name) {
this.name = name;
}
}
在上面的示例中,setName()方法中的this關(guān)鍵字引用了當(dāng)前的Person對象。
調(diào)用構(gòu)造函數(shù)
this關(guān)鍵字可以用于調(diào)用同一個類中的另一個構(gòu)造函數(shù)。在構(gòu)造函數(shù)中,可以使用this關(guān)鍵字調(diào)用同一個類中的另一個構(gòu)造函數(shù)。例如:
public class Person {
private String name;
public Person() {
this("Unknown");
}
public Person(String name) {
this.name = name;
}
}
在上面的示例中,Person()構(gòu)造函數(shù)使用this關(guān)鍵字調(diào)用了另一個構(gòu)造函數(shù)Person(String name)。
區(qū)分局部變量和成員變量
this關(guān)鍵字可以用于區(qū)分局部變量和成員變量。如果在方法中使用局部變量和成員變量具有相同的名稱,那么可以使用this關(guān)鍵字來引用成員變量。例如:
public class Person {
private String name;
public void setName(String name) {
this.name = name;
}
}
在上面的示例中,setName()方法的參數(shù)name與成員變量name具有相同的名稱。為了區(qū)分它們,使用this關(guān)鍵字來引用成員變量name。
返回當(dāng)前對象
this關(guān)鍵字可以用于返回當(dāng)前對象。在方法中,可以使用this關(guān)鍵字來返回當(dāng)前對象。例如:
public class Person {
private String name;
public Person withName(String name) {
this.name = name;
return this;
}
}
在上面的示例中,withName()方法使用this關(guān)鍵字返回當(dāng)前Person對象。這使得可以使用方法鏈來對同一對象進(jìn)行多個操作。
這只是this關(guān)鍵字的幾個常見用法,還有其他用法,如在內(nèi)部類中引用外部類對象等。