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() } } }