怎么定義靜態(tài)變量 靜態(tài)方法里面的變量,是靜態(tài)還是非靜態(tài)的?
靜態(tài)方法里面的變量,是靜態(tài)還是非靜態(tài)的?有兩種:第一,新對(duì)象不是在靜態(tài)方法中實(shí)例化的。在這種情況下,靜態(tài)方法中要調(diào)用的變量和方法必須是靜態(tài)的。其次,在靜態(tài)方法中實(shí)例化一個(gè)對(duì)象。在這種情況下,實(shí)例化對(duì)象
靜態(tài)方法里面的變量,是靜態(tài)還是非靜態(tài)的?
有兩種:第一,新對(duì)象不是在靜態(tài)方法中實(shí)例化的。在這種情況下,靜態(tài)方法中要調(diào)用的變量和方法必須是靜態(tài)的。其次,在靜態(tài)方法中實(shí)例化一個(gè)對(duì)象。在這種情況下,實(shí)例化對(duì)象中的變量和方法不需要是靜態(tài)的。
為什么訪問靜態(tài)方法和靜態(tài)變量不需要實(shí)例化?
靜態(tài)變量在Java中也稱為類變量。從名稱可以看出,它屬于一個(gè)類而不是一個(gè)類的實(shí)例。它的關(guān)鍵字是static,存儲(chǔ)在靜態(tài)存儲(chǔ)區(qū)中。當(dāng)程序被執(zhí)行并且類代碼被加載到內(nèi)存中時(shí),類的靜態(tài)變量分配屬于類的內(nèi)存空間。也就是說,每個(gè)實(shí)例對(duì)象都是一個(gè)靜態(tài)變量,只有在程序退出時(shí)才會(huì)釋放靜態(tài)變量的內(nèi)存空間。靜態(tài)變量直接通過類名訪問(Java也可以通過對(duì)象名訪問)。有人將其分為全局靜態(tài)變量和局部靜態(tài)變量,全局靜態(tài)變量失去了“全局”的普遍意義,本文對(duì)其范圍進(jìn)行了限定。靜態(tài)變量的聲明應(yīng)該出現(xiàn)在類中,而不是類的函數(shù)中。