您好,登錄后才能下訂單哦!
這篇文章運(yùn)用簡(jiǎn)單易懂的例子給大家介紹java中this訪問(wèn)成員變量的方法,代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
如果存在同名成員變量與局部變量時(shí),在方法內(nèi)部默認(rèn)是訪問(wèn)局部變量的數(shù)據(jù),可以通過(guò)this關(guān)鍵字指定訪問(wèn)成員變量的數(shù)據(jù)。在一個(gè)構(gòu)造函數(shù)中可以調(diào)用另外一個(gè)構(gòu)造函數(shù)初始化對(duì)象。
1.在類的方法定義中使用this關(guān)鍵字代表使用該方法的對(duì)象的引用
2.當(dāng)必須指出當(dāng)前使用方法的對(duì)象是誰(shuí)時(shí)要使用this
3.有時(shí)使用this可以處理方法中成員變量和參數(shù)變量重名的情況
4.this可以看作是一個(gè)變量,它的值是當(dāng)前對(duì)象的引用
注意事項(xiàng):
存在同名的成員變量與局部變量時(shí),在方法的內(nèi)部訪問(wèn)的是局部變量(java 采取的是“就近原則”的機(jī)制訪問(wèn)的。)如果在一個(gè)方法中訪問(wèn)了一個(gè)變量,該變量只存在成員變量的情況下,那么java編譯器會(huì)在該變量的 前面添加this關(guān)鍵字。
/* this關(guān)鍵字調(diào)用其他的構(gòu)造函數(shù)要注意的事項(xiàng): 1. this關(guān)鍵字調(diào)用其他的構(gòu)造函數(shù)時(shí),this關(guān)鍵字必須要位于構(gòu)造函數(shù)中 的第一個(gè)語(yǔ)句。 2. this關(guān)鍵字在構(gòu)造函數(shù)中不能出現(xiàn)相互調(diào)用 的情況,因?yàn)槭且粋€(gè)死循環(huán)。 */ class Student{ int id; //身份證 String name; //名字 //目前情況:存在同名 的成員 變量與局部變量,在方法內(nèi)部默認(rèn)是使用局部變量的。 public Student(int id,String name){ //一個(gè)函數(shù)的形式參數(shù)也是屬于局部變量。 this(name); //調(diào)用了本類的一個(gè)參數(shù)的構(gòu)造方法 //this(); //調(diào)用了本類無(wú)參的 構(gòu)造方法。 this.id = id; // this.id = id 局部變量的id給成員變量的id賦值 System.out.println("兩個(gè)參數(shù)的構(gòu)造方法被調(diào)用了..."); } public Student(){ System.out.println("無(wú)參的構(gòu)造方法被調(diào)用了..."); } public Student(String name){ this.name = name; System.out.println("一個(gè)參數(shù)的構(gòu)造方法被調(diào)用了..."); } } class Demo7 { public static void main(String[] args) { Student s = new Student(110,"鐵蛋"); System.out.println("編號(hào):"+ s.id +" 名字:" + s.name); /* Student s2 = new Student("金胖子"); System.out.println("名字:" + s2.name); */ } }
關(guān)于java中this訪問(wèn)成員變量的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。