Java 中的 this 關鍵字指當前的對象,可以直接用其調用當前對象的成員變量,也可以直接用其調用當前對象的成員方法,這是我們常見的場景,那麼有沒有其它的情況呢!
this 還可以在無參的構造方法中直接跟個小括號,從而調用有參的構造方法,這樣當我們再 new 一個新的對象時,就可以不再通過有參的構造方法進行初始化,直接通過無參的構造方法即刻。
代碼如下:
public class Student {
private String name = "張三";
private int sum = 0;
public Student() {
this("王五"); // 調用有參的構造方法
}
public Student(String name) {
this.name = name; // 調用成員變量中的 name,從而區分方法中的 name
}
public void say(){
System.out.println(this.name);
}
/**
* 遞歸求和
* @param num
*/
public void sum(int num) {
this.sum += num--;
if(0 < num){
sum(num);
} else {
System.out.println("sum = " + sum);
this.say(); // 調用成員方法 say()
}
}
}