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

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

各位大佬,請問內部類方法不能同時調用同名的內部類變量和外部類變量嗎?

各位大佬,請問內部類方法不能同時調用同名的內部類變量和外部類變量嗎?


https://img1.sycdn.imooc.com//5ce364450001fce607480376.jpg

正在回答

8 回答

你截圖的“訪問外部類的變量b” 其實這里它是方法中的變量,可以直接通過變量名訪問的。(內部類定義在該方法中的)

HelloTest.this.b這個是訪問外部類的非靜態變量用的,假如你在HelloTest下面定義了一個非靜態變量int b= 5;這個時候你的程序就對了

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

慕婉清8375384 提問者

謝謝您的回答,如果我想調int b=2;這個量,應該怎么調呢??
2019-05-24 回復 有任何疑惑可以回復我~
#2

慕慕007 回復 慕婉清8375384 提問者

調用int b =2這個,直接用變量名:b;如果要調用int b =4這個,可以用內部類對象 si.b調用
2019-05-24 回復 有任何疑惑可以回復我~
#3

慕婉清8375384 提問者 回復 慕慕007

雖然我不太懂,不過還是要謝謝您~
2019-05-24 回復 有任何疑惑可以回復我~
#4

心聲之新生 回復 慕婉清8375384 提問者

練練就知道了
2019-05-27 回復 有任何疑惑可以回復我~
#5

qq_慕函數2369942

你在這瞎說你嗎呢?
2019-06-11 回復 有任何疑惑可以回復我~
查看2條回復

我前面那個搞錯了,樓主為什么你沒有調用外部類show()方法?

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

為什么我覺得內部類調用方法錯了呢?不應該是先調用外部類方法再內部類方法嘛?求解


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

大哥 我也遇到這個問題了,。。。? 這些評論我一個都看不懂 請問解決了嗎

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

你使用new HelloTest().b試試看,是否可以調用

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

直接HelloTest.b 就可以調用了吧

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

我覺得上面這些人都是在一本正經的瞎說,對自己說出來的答案有驗證過嗎 ,在這邊誤人子弟.我是寫js的,在學習到這一章節的時候也在考慮方法內部類里面同名的變量怎么取值這個問題.

首先內部類中的b取值肯定是就近原則,如果出現同名變量,這種取方法里面的變量是不符合規范的,方法不是對象,不能通過.b這種方式取,你若想取到方法中的值,那只能是方法執行有return b,才能取值到這個值.但是真要這么做會導致內存溢出.show方法被循環執行.

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

慕婉清8375384 提問者

謝謝!!
2019-06-04 回復 有任何疑惑可以回復我~
#2

慕娘2217437 回復 慕婉清8375384 提問者

少些誤區,相信自己。
2019-06-04 回復 有任何疑惑可以回復我~
#3

慕婉清8375384 提問者 回復 慕娘2217437

嗯嗯 !!
2019-06-05 回復 有任何疑惑可以回復我~
#4

qq_慕函數2369942

沒毛病 上面那兩個明顯在瞎說 兩個憨憨在這誤人子弟
2019-06-11 回復 有任何疑惑可以回復我~
查看1條回復

可以調用啊,調用的時候進行區分就可以

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

慕婉清8375384 提問者

請問怎么區分呢?
2019-05-22 回復 有任何疑惑可以回復我~
#2

慕勒9509760 回復 慕婉清8375384 提問者

如果是內部類里定義的產量,在內部類方法中可以直接通過變量名訪問,如果是外部類的產量通過this訪問,你貼的圖已經說明了這種情況
2019-05-22 回復 有任何疑惑可以回復我~
#3

慕婉清8375384 提問者 回復 慕勒9509760

可是我貼的圖,調用是錯誤的呀··~
2019-05-22 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

各位大佬,請問內部類方法不能同時調用同名的內部類變量和外部類變量嗎?

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

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

幫助反饋 APP下載

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

公眾號

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