課程
/后端開發
/Java
/Java入門第二季 升級版
System.out.println("訪問外部類的score"+HelloWorld.score);
2017-12-10
源自:Java入門第二季 升級版 7-7
正在回答
靜態成員屬于整個類,即使沒有對象,靜態成員還是存在的。其他普通成員,只有創建相應類對象的時候才會分配內存,靜態成員在編譯時就會分配一個內存,即使沒有對象,也可以用類名直接訪問。要注意的是,它只會占用一個內存,所有當有不同對象訪問靜態成員時,靜態成員的值都是一樣的,并且有一個對象改變了它的值,所有其他對象訪問該靜態成員時,都會顯示改變后的值
因為內類有權限訪問外部類中的所有數據,加this是為了區分,相當于對象名吧。之前加this因為內部類和外部類都有name,因為方法具有就近原則不加this關鍵字標識的話,系統會直接取內部類中的name。說白了就是為了能讓系統區分,HelloWorld.socre的意思是訪問HelloWorld類(外部類)中的Score變量,沒加this是因為只有一個score不用區分。
因為已經規定了外部類靜態成員與內部類相同時,調用方法為“類名.靜態成員”,
你要問為什么,其實我也不知道,大概是靜態成員比較特殊吧
this是指當前對象 ?一般 用于get ?set ?方法 ,成員變量和在方法中的局部變量命名相同是,需要在方法中使用成員變量需要使用 this。
這是我對this的理解。希望對你有幫助。
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
3 回答為什么不能加this
1 回答System.out.println("外部類中的name:" +HelloWorld.this.name );為什么要加HelloWorld.直接用this不可以嗎?
3 回答為什么一些方法要加void,一些不加?
4 回答為什么這個外部類不用this
3 回答為什么訪問外部類的的name,this前不加外部類名,也能得到要的輸出。
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-04-03
靜態成員屬于整個類,即使沒有對象,靜態成員還是存在的。其他普通成員,只有創建相應類對象的時候才會分配內存,靜態成員在編譯時就會分配一個內存,即使沒有對象,也可以用類名直接訪問。要注意的是,它只會占用一個內存,所有當有不同對象訪問靜態成員時,靜態成員的值都是一樣的,并且有一個對象改變了它的值,所有其他對象訪問該靜態成員時,都會顯示改變后的值
2017-12-15
因為內類有權限訪問外部類中的所有數據,加this是為了區分,相當于對象名吧。之前加this因為內部類和外部類都有name,因為方法具有就近原則不加this關鍵字標識的話,系統會直接取內部類中的name。說白了就是為了能讓系統區分,HelloWorld.socre的意思是訪問HelloWorld類(外部類)中的Score變量,沒加this是因為只有一個score不用區分。
2017-12-12
因為已經規定了外部類靜態成員與內部類相同時,調用方法為“類名.靜態成員”,
你要問為什么,其實我也不知道,大概是靜態成員比較特殊吧
2017-12-10
this是指當前對象 ?一般 用于get ?set ?方法 ,成員變量和在方法中的局部變量命名相同是,需要在方法中使用成員變量需要使用 this。
這是我對this的理解。希望對你有幫助。