亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

System.out.println("外部類中的name:" + HelloWorld.this.name);

System.out.println("外部類中的name:" + HelloWorld.this.name);

為什么不能是:System.out.println("外部類中的name:" + HelloWorld.name);?

this在這的作用是什么?

正在回答

4 回答

其實就是這個意思,由于這個語句是位于內部類的成員方法中,所以需要使用HelloWorld這個類去引用this這個關鍵字,這就相當于指向了HelloWorld這個類,再通過這個類名來訪問這個類中的屬性。this這里就相當于一個指向的作用,指向了HelloWorld這個類,不知道這樣解釋的清楚不

1 回復 有任何疑惑可以回復我~
#1

weixin_慕哥9207569

是不是因為只寫HelloWorld.name,還是會包括外部類和內部類的兩個name?為啥不能用this.HelloWorld.name呢?好暈
2016-05-01 回復 有任何疑惑可以回復我~

如果外部類和內部類具有相同的成員變量或方法,內部類默認訪問自己的成員變量或方法,如果要訪問外部類的成員變量,可以使用 this

0 回復 有任何疑惑可以回復我~

這里面的this表示外部類對象的引用,就不用先創建外部類的對象,再通過對象調用屬性了,不能直接用HelloWorld.name調用。

0 回復 有任何疑惑可以回復我~

HelloWorld.name只能訪問外部的靜態類,對于非靜態類,要通過 “?new 外部類().成員”訪問,此處的this應該就是這個作用吧

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

System.out.println("外部類中的name:" + HelloWorld.this.name);

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號