java中static用法總體來看可以歸納為3種,第一是修飾變量,第二是修飾方法,第三是代碼塊。 第一,被static修飾的變量叫做靜態(tài)變量,其兩大用法是可以被所有類對象共享值并且不可隨意改變,另外可以用 類名.變量名的方式調(diào)用。 其內(nèi)存加載時(shí)跟隨類的加載一同加載的。 第二,被static修飾的方法叫做靜態(tài)方法,首先靜態(tài)太方法中可以調(diào)用靜態(tài)方法,不可以調(diào)用非靜態(tài)的方法,同樣可以使用 類名.方法名 的方式調(diào)用。 靜態(tài)方法中不可以使用this和super不可以直接訪問所屬類的實(shí)例變量和實(shí)例方法可以直接訪問類的靜態(tài)變量和靜態(tài)方法,其內(nèi)存加載時(shí)也是跟隨類 的加載一同加載的。 第三,被static修飾的代碼塊,當(dāng)程序中有多個(gè)靜態(tài)代碼塊時(shí),程序會(huì)依次向下執(zhí)行,按照順序加載,并且每一個(gè)靜態(tài)方法塊只可以執(zhí)行一次。 總結(jié):
其中最典型的就是在靜態(tài)方法中調(diào)用非靜態(tài)的方法,會(huì)報(bào)以下錯(cuò)誤:
|
|