static在java中可以修飾對象屬性,而由其修飾的屬性可以有以下的性質: 1.屬性的創建時間會由在對象創建後創建變為在相關類載入時創建,即在寫入屬性時就已經創建。 那麼就可以直接使用類名加屬性名進行調用(由右圖可知,可以正常使用且輸出)而不需要引入,但引入也是可以使用的,因為本質上依然是屬性; ...
static在java中可以修飾對象屬性,而由其修飾的屬性可以有以下的性質:
1.屬性的創建時間會由在對象創建後創建變為在相關類載入時創建,即在寫入屬性時就已經創建。
那麼就可以直接使用類名加屬性名進行調用(由右圖可知,可以正常使用且輸出)而不需要引入,但引入也是可以使用的,因為本質上依然是屬性;
2.屬性不再是對象擁有的特征屬性,而變為了共用性質的屬性,即所有由此類創造的對象中static修飾的屬性所包含地址是相同的,
他們都指向相同的一塊記憶體,因此修改其中一個其他對象內的都會發生相應的變化;
3.由static修飾的屬性是存儲在記憶體的哪一種數據類型區域呢?
由於JDK版本不同有不同的存儲方法,在7以上,是在定義類型Class中,而Class對象則在堆中;