在Java中,static關鍵字有以下幾個作用:
靜態(tài)變量:使用static關鍵字聲明的變量稱為靜態(tài)變量(類變量),它們存儲在靜態(tài)存儲區(qū),不隨對象的創(chuàng)建而創(chuàng)建,屬于類本身。靜態(tài)變量可以通過類名直接訪問,而不需要實例化對象。
靜態(tài)方法:使用static關鍵字聲明的方法稱為靜態(tài)方法(類方法),它們不依賴于對象的創(chuàng)建,可以直接通過類名調(diào)用。靜態(tài)方法中只能訪問靜態(tài)變量或調(diào)用其他靜態(tài)方法,不能訪問非靜態(tài)的實例變量或調(diào)用非靜態(tài)的實例方法。
靜態(tài)塊:使用static關鍵字聲明的代碼塊稱為靜態(tài)塊,它在類加載時執(zhí)行,僅執(zhí)行一次。靜態(tài)塊通常用于初始化靜態(tài)變量。
靜態(tài)內(nèi)部類:使用static關鍵字聲明的內(nèi)部類稱為靜態(tài)內(nèi)部類,它與外部類之間的關系類似于普通的靜態(tài)變量和靜態(tài)方法,可以直接通過外部類名訪問。
總的來說,static關鍵字主要用于表示與對象實例無關的類級別的特性,可以直接通過類名訪問,而不需要實例化對象。