溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

java中this訪問(wèn)成員變量的方法

發(fā)布時(shí)間:2020-06-25 12:00:54 來(lái)源:億速云 閱讀:365 作者:Leah 欄目:編程語(yǔ)言

這篇文章運(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ò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI