static關鍵字
static關鍵字
- 用來修飾共有的結構(屬性/方法/代碼塊/內部類)
- 實現共有結構的統一控制
- 類中的常量也經常聲明爲static
修飾屬性
- 稱爲靜態變量(靜態屬性或類變量)
- 不能修飾局部變量
- 屬性按是否被static修飾分爲靜態屬性和非靜態屬性(實例變量)
- 建立類的多個對象之後,每一個對象都獨立的擁有一套類中的實例變量
- 建立類的多個對象之後,多個對象共享同一個靜態變量,實現一改全改
- 實例變量隨着對象的建立而加載.
- 類變量隨着類的加載而加載
- 類變量的加載早於對象的建立
- 能夠經過"類.靜態變量"的方式進行調用(如System.out,Math.PI)
- 類只加載一次,因此靜態變量也只加載一次
- 靜態變量存在<font size=3 color=red>方法區</font>的靜態域中.
- 靜態變量能夠直接經過"類.靜態變量"方法調用,不須要建立對象
修飾方法
- 隨着類的加載而加載,能夠經過"類.靜態方法"的方式進行調用.
- 由於生命週期,非靜態方法中既能夠調用非靜態的結構,也能夠調用靜態的結構
- 靜態方法中只能調用靜態結構
- 靜態的方法內不能使用this/super這兩個須要基於當前對象的關鍵字(編譯不經過)
- 靜態結構在類中被調用時能夠直接寫結構名,省去了類名.
static選定標準
選定類變量工具
選定靜態方法this
- 操做靜態屬性的方法一般也設爲static的
- 工具類中的方法,通常也聲明爲static的(如Math/Arrays/Collections)
歡迎關注本站公眾號,獲取更多信息