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