一、FINAL變量
final
變量被初始化,其值就不能再被改變。編譯時(shí)檢查: 編譯器會(huì)檢查final
變量是否已經(jīng)初始化,并且只初始化一次。線程安全: 在多線程環(huán)境中,final
變量可以確保一旦被初始化,就不會(huì)被更改。二、STATIC變量
類級(jí)別存儲(chǔ):static
變量不屬于類的任何實(shí)例,而是屬于類本身。內(nèi)存優(yōu)化: 由于所有實(shí)例共享同一static
變量,因此可以節(jié)省內(nèi)存。全局訪問(wèn): static
變量可以通過(guò)類名直接訪問(wèn),而不需要?jiǎng)?chuàng)建類的實(shí)例。常見(jiàn)問(wèn)答
Q1: 是否可以同時(shí)使用final和static修飾一個(gè)變量?是的,當(dāng)一個(gè)變量被聲明為static final
時(shí),它即是不可變的,又是一個(gè)類級(jí)別的變量。Q2: static變量有何缺點(diǎn)?由于static
變量在所有實(shí)例之間共享,如果不正確地管理,可能會(huì)導(dǎo)致數(shù)據(jù)不一致或其他問(wèn)題。Q3: final變量是否必須在聲明時(shí)初始化?不是,final
變量可以在構(gòu)造函數(shù)中初始化,但必須確保在使用之前已經(jīng)初始化。