您好,登錄后才能下訂單哦!
關鍵字
加載順序 、類初始化 、方法區、進程
存在作用:
變量 -> 全局共享 (跨線程,但不支持跨進程)
方法 -> 不用類實例就能直接使用,避免New的消耗。(為什么靜態方法不能訪問非靜態變量)
代碼塊 -> 靜態塊在類初始化就運行 ,初始化順序 靜態代碼塊 -> 普通代碼塊 -> 構造方法 -> 普通方法,代碼塊只會初始化一次
導包 -> 靜態導包,將類的方法直接導入到當前類中,從而直接使用“方法名”即可調用類方法,更加方便。
類加載:
?
靜態屬性和非靜態屬性的區別:
1、內存中存放位置不同:static修飾的屬性和方法存在方法區里,而非靜態存在堆內存中
2、生命周期不一樣,靜態屬性和方法在類初始化的時候初始化,在類消失后被銷毀。而非靜態要在創建對象才存在,對象銷毀后銷毀。
3、靜態屬性是整個類都公用的
4、用法:靜態的可以直接通過類名訪問,非靜態只能通過對象進行訪問
5、靜態方法: 子類不能重寫父類靜態方法,如重名父類方法會被隱藏。
參照:
靜態特點:https://blog.csdn.net/weixin_43821892/article/details/90054868
靜態jvm何時初始化:https://www.cnblogs.com/ivanfu/archive/2012/02/12/2347817.html
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。