靜態(tài)與非靜態(tài)的區(qū)別
成員前有被static標(biāo)記,是靜態(tài)成員,否則就是非靜態(tài)成員。
static ——靜態(tài),沒有,非靜態(tài)
1·在非靜態(tài)類中,既可以有實例成員(非靜態(tài)成員),也可以有靜態(tài)成員
? ?而靜態(tài)類中,只允許有靜態(tài)成員,不允許有非靜態(tài)成員
2·在調(diào)用實例成員的時候,需要使用 對象名.實例成員,
? ?在調(diào)用靜態(tài)成員的時候,需要使用 類名.靜態(tài)成員。
3·靜態(tài)函數(shù)中,只能訪問靜態(tài)成員,不允許訪問實例成員;而非靜態(tài)函數(shù)則兩個都可以
4·靜態(tài)類,不允許創(chuàng)建對象(不允許實例化);
總結(jié):靜態(tài)成員,必須使用 類名 調(diào)用,非靜態(tài)(實例)成員,可以使用?對象名?調(diào)用。
使用原則:
1·如果你要你的類作為一個“工具類”,就寫靜態(tài)類;比如? console? 就是一個工具類,
? ?經(jīng)常被調(diào)用的,就是工具類。
? ?因為靜態(tài)類可以直接用,而非靜態(tài)類則需要新創(chuàng)建一個對象。
2·靜態(tài)類在項目中資源共享
3·在程序全部結(jié)束后,靜態(tài)類會釋放資源(靜態(tài)類本身不占內(nèi)存)
標(biāo)簽: