Java中的static關鍵字有以下幾個作用:
1. 靜態變量: 使用static關鍵字定義的變量為靜態變量,它屬于類而不是對象,所有對象共享該變量的值。靜態變量在內存中只有一份拷貝,且在類加載時就會初始化,可以通過類名直接訪問。
2. 靜態方法: 使用static關鍵字定義的方法為靜態方法,它屬于類而不是對象,可以通過類名直接調用。靜態方法無法訪問非靜態成員變量或調用非靜態方法,只能調用其他靜態方法。
3. 靜態代碼塊: 使用static關鍵字定義的代碼塊為靜態代碼塊,它在類加載時執行且只執行一次。靜態代碼塊用于初始化靜態變量或執行一些靜態操作。
4. 靜態內部類: 使用static關鍵字定義的內部類為靜態內部類,它與外部類之間沒有直接的聯系,可以直接通過類名訪問。靜態內部類可以擁有靜態成員和非靜態成員。
5. 靜態導入: 使用static關鍵字可以導入類的靜態成員,可以直接使用靜態成員而無需使用類名限定符。
總的來說,static關鍵字主要用于定義靜態成員,靜態成員與類相關聯而不是與對象相關聯,可以通過類名直接訪問,無需創建對象。