靜態(tài)塊和靜態(tài)方法的區(qū)別

1、靜態(tài)方法:需要在項目啟動的時候就初始化,在不創(chuàng)建對象的情況下,這種代碼是被動執(zhí)行的(靜態(tài)方法在類加載的時候 就已經(jīng)加載 可以用類名直接調(diào)用)

使用類的靜態(tài)方法時,注意:

a、在靜態(tài)方法里只能直接調(diào)用同類中其他的靜態(tài)成員(包括變量和方法),而不能直接訪問類中的非靜態(tài)成員(這是因為,對于非靜態(tài)的方法和變量,需要先創(chuàng)建類的實例對象后才可使用,而靜態(tài)方法在使用前不用創(chuàng)建任何對象)

b、 靜態(tài)方法不能以任何方式引用this和super關(guān)鍵字,因為靜態(tài)方法在使用前不用創(chuàng)建任何實例對象,當靜態(tài)方法調(diào)用時,this所引用的對象根本沒有產(chǎn)生。

c、靜態(tài)變量是屬于整個類的變量而不是屬于某個對象的。注意不能把任何方法體內(nèi)的變量聲明為靜態(tài)

2、靜態(tài)代碼塊:有些代碼必須在項目啟動的時候就執(zhí)行,這種代碼是主動執(zhí)行的(當類被載入時,靜態(tài)代碼塊被執(zhí)行,且只被執(zhí)行一次,靜態(tài)塊常用來執(zhí)行類屬性的初始化)

3、區(qū)別:兩者的區(qū)別就是:靜態(tài)代碼塊是自動執(zhí)行的; 靜態(tài)方法是被調(diào)用的時候才執(zhí)行的.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容