課程
/后端開發(fā)
/Java
/Java入門第二季 升級版
為什么內(nèi)部類要訪問外部類相同名稱的變量一定要加this才可以,而不能是類.變量名
2018-05-24
源自:Java入門第二季 升級版 7-6
正在回答
類名.變量名
在靜態(tài)變量中的確可以使用這種方式訪問。但在非靜態(tài)的變量情況下,Java編譯器會報錯?!?/p>
題主可以重新看看:2-7 Java 中的靜態(tài)內(nèi)部類 這一章。嘗試把static關(guān)鍵字刪除,編譯查看效果。在javac編譯器中提示:“無法從靜態(tài)上下文中引用非靜態(tài) 變量”顯然,這一章告訴我們,通過"類名.變量名"也是可以區(qū)分變量的。
內(nèi)部類中引用外部類中同名的成員,需要通過外部類名字.this.外部類成員名字的方式加以引用。而且,在引用成員內(nèi)部類自己的定義的成員時也需要使用this關(guān)鍵字,以加以區(qū)別。
這是定義,實在想深究其中關(guān)鍵字的含義,那可能是JAVA高級工程師了,題主在實驗和工作中還是遵循規(guī)范吧。
qq_huh_1 提問者
靜態(tài)類可以使用this+成員名,也可以使用類名+成員名
在非靜態(tài)中使用類名+this+成員名
沒有為什么?這是規(guī)定
舉報
課程升級!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會Java面向?qū)ο缶幊痰膴W妙
4 回答為什么靜態(tài)內(nèi)部類訪問外部類同名邊量前面不加this
4 回答重名--方法內(nèi)部類的變量與外部類的變量重名
5 回答內(nèi)部類中的方法訪問外部類中的成員變量,為什么要用外部類的 類名.this 的方式?
3 回答方法內(nèi)部類訪問外部重名變量
2 回答為什么在內(nèi)部類調(diào)用外部類里相同變量名時出錯?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2018-05-24
類名.變量名
在靜態(tài)變量中的確可以使用這種方式訪問。但在非靜態(tài)的變量情況下,Java編譯器會報錯?!?/p>
題主可以重新看看:2-7 Java 中的靜態(tài)內(nèi)部類 這一章。嘗試把static關(guān)鍵字刪除,編譯查看效果。在javac編譯器中提示:“無法從靜態(tài)上下文中引用非靜態(tài) 變量”顯然,這一章告訴我們,通過"類名.變量名"也是可以區(qū)分變量的。
這是定義,實在想深究其中關(guān)鍵字的含義,那可能是JAVA高級工程師了,題主在實驗和工作中還是遵循規(guī)范吧。
2018-06-09
靜態(tài)類可以使用this+成員名,也可以使用類名+成員名
在非靜態(tài)中使用類名+this+成員名
2018-05-31
沒有為什么?這是規(guī)定