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