課程
/后端開發
/Java
/Java入門第二季 升級版
為什么這里要加this,而本題不需要加this
2018-04-07
源自:Java入門第二季 升級版 7-7
正在回答
this代表本類對象,如果成員變量和局部變量名稱沒有重復,this可以省略。
圖片上因為涉及到內部類,this代表哪個類的對象需要指明,是外部類的this就是HelloWorld.this,他的屬性就是HelloWorld.this.name,如果是內部類的屬性,則是Inner.this.name。
代碼中的16行,因為在本類,可以省略Inner寫成this.name,因為局部變量和成員變量名稱沒有重復,可以省略this寫成name。所以16行的name寫成name或者this.name或者Inner.this.name結果都是一樣的
慕前端6531350 提問者
_miracle 回復 慕前端6531350 提問者
這是一個靜態內部類里面的方法,訪問外部類中的成員直接用 HelloWorld.score;
而普通內部類里面的方法,訪問外部類就需要 HelloWprld.this.score;
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
3 回答this問題
3 回答this的問題
1 回答this的問題
2 回答請問為什么?this問題
3 回答關于這道題中的this如何使用的問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-04-07
this代表本類對象,如果成員變量和局部變量名稱沒有重復,this可以省略。
圖片上因為涉及到內部類,this代表哪個類的對象需要指明,是外部類的this就是HelloWorld.this,他的屬性就是HelloWorld.this.name,如果是內部類的屬性,則是Inner.this.name。
代碼中的16行,因為在本類,可以省略Inner寫成this.name,因為局部變量和成員變量名稱沒有重復,可以省略this寫成name。所以16行的name寫成name或者this.name或者Inner.this.name結果都是一樣的
2018-06-07
這是一個靜態內部類里面的方法,訪問外部類中的成員直接用 HelloWorld.score;
而普通內部類里面的方法,訪問外部類就需要 HelloWprld.this.score;