區別 | static變量 | 非靜態變量 |
份數 | 1份 | 每個對象1份 |
內存中位置 | 元空間(metaspace) | 堆 |
創建時間 | 加載類 | 創建對象 |
調用方式 | 類名.變量名 | 對象名.變量名 |
生命週期 | 與類一致 | 與對象一致 |
作用:訪問static方法/變量
調用方式:類名.方法名
static方法不可以訪問:
理解:加載類的時候就加載靜態變量和靜態方法,此時可能還沒有創建對象,所以非靜態變量和非靜態的方法還沒有分配空間,無法訪問
類的成員處理:一般用private修飾,通過set,get方法修改、獲取(boolean變量通過is獲取)
|
修飾符 |
返回值 |
方法名 |
參數 |
拋出異常 |
|
重載 |
無關 |
無關 |
相同 |
不同 |
無關 |
|
重寫 |
大於等於 |
小於等於 |
相同 |
基本數據類型:相同 |
引用數據類型:小於等於 | 小於等於 |