課程
/后端開發
/Java
/Java入門第二季 升級版
我想知道靜態變量跟全局變量有什么關系。
2018-06-09
源自:Java入門第二季 升級版 8-7
正在回答
靜態變量就是一個類的全局變量
愛與等待 提問者
所屬不同:
靜態變量屬于類,所以也稱為為類變量;成員變量屬于對象,所以也稱為實例變量(對象變量)
在內存中位置不同:
靜態變量存儲于方法區里的靜態區;成員變量存儲于堆內存區
在內存中出現的時間不同:
靜態變量隨著類的加載而加載、隨著類的消失而消失;
成員變量隨著對象(也叫實例)的創建而存在,隨著對象的消失而消失。
調用方式不同:
靜態變量可以通過類名調用,也可以通過對象調用; 成員變量只能通過對象名調用。
------------------
在靜態方法中是沒有this關鍵字的,如何理解呢?
靜態變量是隨著類的加載而加載,this是隨著對象的創建而存在。靜態先于對象存在。靜態方法只能訪問靜態的成員變量和靜態的成員方法。
非靜態方法,既可以調用靜態的成員變量也可以調用非靜態的成員變量;
非靜態方法既可以調用靜態的成員方法,也可以調用非靜態的成員方法。
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
3 回答有關靜態變量與全局變量的問題
3 回答類中,靜態變量跟非靜態變量有什么不同?
3 回答全局變量在main方法中出現不能將一個非靜態變量賦值給靜態變量
2 回答關于靜態變量
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-06-09
靜態變量就是一個類的全局變量
2018-08-01
所屬不同:
靜態變量屬于類,所以也稱為為類變量;成員變量屬于對象,所以也稱為實例變量(對象變量)
在內存中位置不同:
靜態變量存儲于方法區里的靜態區;成員變量存儲于堆內存區
在內存中出現的時間不同:
靜態變量隨著類的加載而加載、隨著類的消失而消失;
成員變量隨著對象(也叫實例)的創建而存在,隨著對象的消失而消失。
調用方式不同:
靜態變量可以通過類名調用,也可以通過對象調用; 成員變量只能通過對象名調用。
------------------
在靜態方法中是沒有this關鍵字的,如何理解呢?
靜態變量是隨著類的加載而加載,this是隨著對象的創建而存在。靜態先于對象存在。
靜態方法只能訪問靜態的成員變量和靜態的成員方法。
非靜態方法,既可以調用靜態的成員變量也可以調用非靜態的成員變量;
非靜態方法既可以調用靜態的成員方法,也可以調用非靜態的成員方法。