Java中的static關鍵字有以下幾個作用:
1. 靜態變量:使用static關鍵字聲明的變量是靜態變量,也稱為類變量。靜態變量在類加載時被初始化,且只有一份拷貝,被所有實例共享??梢酝ㄟ^類名直接訪問靜態變量,無需創建對象。
2. 靜態方法:使用static關鍵字聲明的方法是靜態方法,也稱為類方法。靜態方法可以直接通過類名調用,無需創建對象。靜態方法只能訪問靜態變量和調用其他靜態方法,不能訪問非靜態成員。
3. 靜態代碼塊:使用static關鍵字聲明的代碼塊是靜態代碼塊。靜態代碼塊在類加載時執行,用于初始化靜態變量或執行一些只需執行一次的操作。
4. 靜態內部類:使用static關鍵字聲明的內部類是靜態內部類。靜態內部類與外部類的實例無關,可以直接通過外部類名訪問。
5. 靜態導入:使用static關鍵字可以導入類的靜態成員,使其可以直接使用,無需通過類名限定。
靜態成員具有以下特點:
- 靜態成員在內存中只有一份拷貝,被所有實例共享。
- 靜態成員可以通過類名直接訪問,無需創建對象。
- 靜態成員在類加載時被初始化,且在整個程序運行期間保持不變。
需要注意的是,靜態成員不能訪問非靜態成員,因為非靜態成員是與實例相關的,而靜態成員是與類相關的。靜態成員的生命周期與類的生命周期相同,即在類被卸載時才會被銷毀。