您好,登錄后才能下訂單哦!
這篇文章主要介紹了Java中this關鍵字有什么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
this 關鍵字代表了所屬函數(shù)的調用者對象。
this 關鍵字的作用:
如果存在同名成員變量與局部變量時,在方法內部默認是訪問局部變量的數(shù)據(jù),可以通過 this 關鍵字指定訪問成員變量的數(shù)據(jù);
在一個構造函數(shù)中可以調用另外一個構造函數(shù)初始化對象。
this 關鍵字調用其他的構造函數(shù)要注意的事項:
this 關鍵字調用其他的構造函數(shù)時,this關鍵字必須要位于構造函數(shù)中的第一個語句;
this 關鍵字在構造函數(shù)中不能出現(xiàn)互相調用的情況,因為是一個死循環(huán)。
this 關鍵字要注意的事項:
存在同名的成員變量與局部變量時,在方法的內部訪問的是局部變量(java采取的是“就近原則”的機制訪問的);
如果在一個方法中訪問了一個變量,該變量值存在成員變量的情況下,那么java編譯器會在該變量的前面添加this關鍵字。
this關鍵字調用其他的構造函數(shù)要注意的事項:
this關鍵字調用其他的構造函數(shù)時,this關鍵字必須要位于構造函數(shù)中的第一個語句;
this關鍵字在構造函數(shù)中不能出現(xiàn)互相調用的情況,因為是一個死循環(huán)。
class Student{
int id; //身份證
String name; //名字
//目前情況: 存在同名的成員變量與局部變量,在方法內部是使用局部變量的。
public Student(int id, String name) { //一個函數(shù)的形式參數(shù)也是屬于局部變量。
//調用了本類的一個參數(shù)的構造方法
//this(name);//如果能在這里調用到下面一個參數(shù)的構造方法時,那就可以解決重復代碼的問題。
this(); //調用了本類的無參的構造方法。
this.id = id; //this.id = id; 局部變量的id給成員變量的id賦值。
System.out.println("兩個參數(shù)的構造方法調用了...");
}
public Student() {
System.out.println("無參的構造方法被調用了...");
}
public Student(String name) {
this.name = name;
//System.out.println("一個參數(shù)的構造方法被調用了...");
}
}
public class Demo1 {
public static void main(String[] args) {
Student s = new Student(110, "迪迦");
System.out.println("編號: "+s.id+" 名字: "+s.name);
Student s2 = new Student("W3CSCHOOL");
System.out.println("名字: "+s2.name);
}
}
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Java中this關鍵字有什么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。