在Java中,static
關(guān)鍵字具有多種作用,主要體現(xiàn)在以下幾個(gè)方面:
static
修飾的變量稱為靜態(tài)變量。靜態(tài)變量也被稱為類變量,它屬于類本身而不是類的實(shí)例。所有實(shí)例共享同一個(gè)靜態(tài)變量,當(dāng)對(duì)一個(gè)實(shí)例修改靜態(tài)變量的值時(shí),其他實(shí)例中的該變量值也會(huì)改變。靜態(tài)變量在類被加載時(shí)初始化,只會(huì)初始化一次。static
修飾的方法稱為靜態(tài)方法。靜態(tài)方法屬于類本身而不是類的實(shí)例,可以直接通過(guò)類名調(diào)用,而不需要?jiǎng)?chuàng)建類的實(shí)例。靜態(tài)方法只能訪問(wèn)靜態(tài)成員變量和其他靜態(tài)方法,不能直接訪問(wèn)實(shí)例成員變量和非靜態(tài)方法。靜態(tài)方法在類被加載時(shí)初始化。static
修飾的內(nèi)部類稱為靜態(tài)內(nèi)部類。靜態(tài)內(nèi)部類不需要外部類的實(shí)例就可以創(chuàng)建對(duì)象,也不需要外部類的引用就可以訪問(wèn)外部類的靜態(tài)成員。靜態(tài)內(nèi)部類主要用于創(chuàng)建與外部類相關(guān)但不依賴于外部類實(shí)例的功能模塊。WEB-INF/classes
或WEB-INF/lib
目錄下,并通過(guò)ServletContext對(duì)象進(jìn)行訪問(wèn)。總之,static
關(guān)鍵字在Java中具有多種作用,包括定義靜態(tài)變量、靜態(tài)方法、靜態(tài)代碼塊、靜態(tài)內(nèi)部類和訪問(wèn)靜態(tài)資源等。這些特性使得static
關(guān)鍵字在編程中非常有用,特別是在需要共享數(shù)據(jù)或?qū)崿F(xiàn)單例模式等場(chǎng)景中。