Java中this關鍵字的使用主要有兩處:
1、構造方法
this指的是調用構造方法進行初始化的對象。
//有參構造
public Human(String name, int age) {
this(); //調用無參構造
//this(name); //調用有參構造(參數為name的構造方法)
this.name = name;
this.age= age;
}
2、普通方法(非靜態方法)
this指的是調用該方法的對象。
//普通方法
public void setName(String name) {
this.name = name;
}
為什麼在構造器、普通方法中能使用this關鍵字?
——this是隱式參數,在調用方法時系統自動傳遞一個this參數(代表調用的對象的引用),只不過是隱式傳遞的(super類似)。
為什麼靜態方法中不能使用this關鍵字?
——靜態方法有可能不是被對象調用的(如:被類直接調用),因此this沒有對象可引用。
如有不足或錯誤之處,歡迎指教!