課程
/后端開發
/Java
/Java入門第二季 升級版
各位大佬,請問內部類方法不能同時調用同名的內部類變量和外部類變量嗎?
2019-05-21
源自:Java入門第二季 升級版 7-8
正在回答
你截圖的“訪問外部類的變量b” 其實這里它是方法中的變量,可以直接通過變量名訪問的。(內部類定義在該方法中的)
HelloTest.this.b這個是訪問外部類的非靜態變量用的,假如你在HelloTest下面定義了一個非靜態變量int b= 5;這個時候你的程序就對了
慕婉清8375384 提問者
慕慕007 回復 慕婉清8375384 提問者
慕婉清8375384 提問者 回復 慕慕007
心聲之新生 回復 慕婉清8375384 提問者
qq_慕函數2369942
我前面那個搞錯了,樓主為什么你沒有調用外部類show()方法?
為什么我覺得內部類調用方法錯了呢?不應該是先調用外部類方法再內部類方法嘛?求解
大哥 我也遇到這個問題了,。。。? 這些評論我一個都看不懂 請問解決了嗎
你使用new HelloTest().b試試看,是否可以調用
直接HelloTest.b 就可以調用了吧
我覺得上面這些人都是在一本正經的瞎說,對自己說出來的答案有驗證過嗎 ,在這邊誤人子弟.我是寫js的,在學習到這一章節的時候也在考慮方法內部類里面同名的變量怎么取值這個問題.
首先內部類中的b取值肯定是就近原則,如果出現同名變量,這種取方法里面的變量是不符合規范的,方法不是對象,不能通過.b這種方式取,你若想取到方法中的值,那只能是方法執行有return b,才能取值到這個值.但是真要這么做會導致內存溢出.show方法被循環執行.
慕娘2217437 回復 慕婉清8375384 提問者
慕婉清8375384 提問者 回復 慕娘2217437
可以調用啊,調用的時候進行區分就可以
慕勒9509760 回復 慕婉清8375384 提問者
慕婉清8375384 提問者 回復 慕勒9509760
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
4 回答重名--方法內部類的變量與外部類的變量重名
3 回答java中方法內部內如何訪問同名外部類變量
4 回答內部類如果和外部類變量和方法沒有重名是不是可以直接在內部類調用外部類的變量和方法
3 回答方法內部類訪問外部重名變量
2 回答為什么在內部類調用外部類里相同變量名時出錯?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-05-24
你截圖的“訪問外部類的變量b” 其實這里它是方法中的變量,可以直接通過變量名訪問的。(內部類定義在該方法中的)
HelloTest.this.b這個是訪問外部類的非靜態變量用的,假如你在HelloTest下面定義了一個非靜態變量int b= 5;這個時候你的程序就對了
2020-06-12
我前面那個搞錯了,樓主為什么你沒有調用外部類show()方法?
2020-06-12
為什么我覺得內部類調用方法錯了呢?不應該是先調用外部類方法再內部類方法嘛?求解
2019-11-21
大哥 我也遇到這個問題了,。。。? 這些評論我一個都看不懂 請問解決了嗎
2019-08-04
你使用new HelloTest().b試試看,是否可以調用
2019-06-26
直接HelloTest.b 就可以調用了吧
2019-06-01
我覺得上面這些人都是在一本正經的瞎說,對自己說出來的答案有驗證過嗎 ,在這邊誤人子弟.我是寫js的,在學習到這一章節的時候也在考慮方法內部類里面同名的變量怎么取值這個問題.
首先內部類中的b取值肯定是就近原則,如果出現同名變量,這種取方法里面的變量是不符合規范的,方法不是對象,不能通過.b這種方式取,你若想取到方法中的值,那只能是方法執行有return b,才能取值到這個值.但是真要這么做會導致內存溢出.show方法被循環執行.
2019-05-21
可以調用啊,調用的時候進行區分就可以