靜態與非靜態的區別

2021-07-22 23:03:03 字數 496 閱讀 6635

1.靜態成員優先於物件存在,所以靜態方法不能呼叫非靜態成員,非靜態方法能呼叫靜態與非靜態成員。

2.靜態成員屬於類,被物件所共享,可被類和物件直接呼叫,非靜態只屬於當前物件,只能被類的物件呼叫。

3.載入時間不同:靜態成員隨類的載入而載入,非靜態只能在物件愛那個被建立後才能載入。

4.記憶體儲存區域不同:

靜態成員儲存在方法區中,非靜態儲存在堆記憶體中。

5.靜態方法中不能出現this和

super

關鍵字,在靜態方法中呼叫非靜態的成員,只能先

new乙個物件,再呼叫。

[----不能使用

this

與super

的原因:

this

指向當前類的物件,

super

指向當前類的父類,當靜態方法存在時,物件不一定存在,

this

與 super

可能沒有指向

]未完待續。。。。。。。。

靜態與非靜態的區別

1.靜態類與非靜態類 靜態類中只能包含靜態成員和靜態方法,否則會丟擲編譯錯誤 而非靜態類中可以包含非靜態成員和非靜態方法,也可以包含 靜態成員和靜態方法 靜態類不可以例項化 非靜態類可以例項化。不管是靜態類還是 非靜態類,對於靜態成員和靜態方法的呼叫都必須通過類來實現 如果乙個類只包含靜態成員和靜態...

靜態與非靜態的區別

1.靜態類與非靜態類 靜態類中只能包含靜態成員和靜態方法,否則會丟擲編譯錯誤 而非靜態類中可以包含非靜態成員和非靜態方法,也可以包含 靜態成員和靜態方法 靜態類不可以例項化 非靜態類可以例項化。不管是靜態類還是 非靜態類,對於靜態成員和靜態方法的呼叫都必須通過類來實現 如果乙個類只包含靜態成員和靜態...

靜態與非靜態的區別

最近一直在看 你必須知道的.net 一書,感覺挺不錯,現在把一些內容記錄如下 內容 1.靜態類與非靜態類 靜態類中只能包含靜態成員和靜態方法,否則會丟擲編譯錯誤 而非靜態類中可以包含非靜態成員和非靜態方法,也可以包含 靜態成員和靜態方法 靜態類不可以例項化 非靜態類可以例項化。不管是靜態類還是 非靜...