當程序中使用了static關鍵字進行某個屬性定義之后,那么此屬性將不保存在堆內存里面,會保存在一個全局數據區的內存空間之中,并且所有的對象都可以進行該數據區的訪問。
一. static屬性的內存分析
結論:訪問static屬性都使用類名稱。
所有的非static屬性必須在實例化對象之后才可以使用,而所有的static屬性不受實例化對象的限制,也就是說是否有對象與static屬性操作無關。
static使用原則:
★在定義類99%的情況下是不會考慮static屬性的;
★如果需要描述共享屬性的概念,或者不希望受到實例化對象控制的時候使用static屬性。
二. static的應用
static屬性的最大功能是進行共享的操作,所以在這一基礎上可以使用static做一個對象產生的計數。所以新對象的產生一定要使用構造方法完成,所以可以在構造方法中實現統計。、
另外,可以使用static給創建對象時沒有初始化的對象賦初始值,形如:Name-0、Name-2、Name-3...