課程
/后端開發
/Java
/Java入門第二季 升級版
打印里直接this.name不行嗎 答案里加了一個HellowWorld.this.name
2016-12-07
源自:Java入門第二季 升級版 7-6
正在回答
直接this.name里面的this指向的是當前類(你所在的是inner,所以this.name還是inner里的“愛慕課”),而通過HelloWorld.this.name 此時的this是指的當前類的HelloWorld, 此時name才是“imooc”
public?class?HelloWorld{ ?? ??//外部類的私有屬性name ??private?String?name?=?"imooc"; ?? ??//外部類的成員屬性 ??int?age?=?20; ?? //成員內部類Inner public?class?Inner?{ String?name?=?"愛慕課"; ??????//內部類中的方法 public?void?show()?{? System.out.println("外部類中的name:"?+??????this.name????????????);//錯誤 System.out.println("內部類中的name:"?+??????name????????); System.out.println("外部類中的age:"?+?age); } } ?? //測試成員內部類 public?static?void?main(String[]?args)?{ ?????? ??????//創建外部類的對象 HelloWorld?o?=?new?HelloWorld?();? ?????? ??????//創建內部類的對象 Inner?inn?=??o.new?Inner()????????????; ?????? ??????//調用內部類對象的show方法 inn.show(); } }
)
大連王健林 提問者
多個類時候多個不同的位置的變量。在同名的時候,他會就近取變量。當只有一個外部類的成員變量。直接輸出變量名的話系統他會默認的在輸出變量時+外部類名.this.變量名 ? ?當有內部類的成員變量,直接輸出變量名的話系統他會默認的在輸出變量時+this.(當前類,即內部類)變量名。
內部類訪問外部類的相同名字的成員,需要加上this關鍵字
沒圖片,怎么幫你看???
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
3 回答五分三十七秒那句理解不了
2 回答第18行看不懂,有人能解釋一下各成員是什么意思嗎
1 回答有一步看不懂?
2 回答我就看懂了第一行是創建了個Dog類型的dog對象,下面幾行代碼理解不了,有沒有大佬能解釋一下
2 回答看了兩遍有點懂了!
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-12-11
直接this.name里面的this指向的是當前類(你所在的是inner,所以this.name還是inner里的“愛慕課”),而通過HelloWorld.this.name 此時的this是指的當前類的HelloWorld, 此時name才是“imooc
”
)
2017-01-08
多個類時候多個不同的位置的變量。在同名的時候,他會就近取變量。當只有一個外部類的成員變量。直接輸出變量名的話系統他會默認的在輸出變量時+外部類名.this.變量名 ? ?當有內部類的成員變量,直接輸出變量名的話系統他會默認的在輸出變量時+this.(當前類,即內部類)變量名。
2016-12-11
內部類訪問外部類的相同名字的成員,需要加上this關鍵字
2016-12-07
沒圖片,怎么幫你看???