第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么訪問外部類的中的b:那里不能 直接 Outer.b 而是要Outer.this.b

為什么訪問外部類的中的b:那里不能 直接 Outer.b ? 而是要Outer.this.b

正在回答

5 回答

我來說一個比較容易理解的。

因為System.out.println這個指令在Inner里,它去輸出變量的時候取的是就近的變量值,所以O(shè)uter.b取的是Inner類內(nèi)的值,雖然寫的是Out.b的值但實際上取的是Inner.b的值。

Outer.this.b取的外部類的值可以理解成這里的this明確的是告訴程序取Outer這個類的變量值。因為上面那個實際上取的是Inner.b的值,所以不會去用Inner的b

通俗點來講就是如果我讓你去買東西你肯定會找最近的商店去買(System.out.println取的就是最近的變量b,因為Inner的變量b離它最近),如果我指定你去一個遠的商店里去買(Outer里的b),那你就必須去那里買,雖然Inner離你近但是你也不能去那里買。這里的this相當于Outer這個外部類。其實只要理解了this表示什么意思,這個問題不難理解。

我個人是這樣理解this的,this的左邊是誰這個this就代表誰,如果this左邊沒有對象,那么這個this就表示當前this所在的這個類。

0 回復(fù) 有任何疑惑可以回復(fù)我~

應(yīng)該這么說,如果訪問的外部類屬性是靜態(tài)的可以不用this,可以直接用外部類名.屬性名,但如果是非靜態(tài)的就必須用外部類名.this表示當前外部類的對象再加上.屬性名,以表示訪問的是外部類的屬性

0 回復(fù) 有任何疑惑可以回復(fù)我~

為什么不是Outer.b和Inner.b之間訪問呢

0 回復(fù) 有任何疑惑可以回復(fù)我~

我也有這樣的疑問

0 回復(fù) 有任何疑惑可以回復(fù)我~

因為在內(nèi)部類中也有個變量b,所以需要這樣寫

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

haiya

但是前面的Outer已經(jīng)能表面他是外部類了。this代表的是當前對象,Outer.b代表的應(yīng)該是類的屬性而不是對象的屬性。
2015-07-10 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

為什么訪問外部類的中的b:那里不能 直接 Outer.b 而是要Outer.this.b

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號