1.靜態成員優先於物件存在,所以靜態方法不能呼叫非靜態成員,非靜態方法能呼叫靜態與非靜態成員。
2.靜態成員屬於類,被物件所共享,可被類和物件直接呼叫,非靜態只屬於當前物件,只能被類的物件呼叫。
3.載入時間不同:靜態成員隨類的載入而載入,非靜態只能在物件愛那個被建立後才能載入。
4.記憶體儲存區域不同:
靜態成員儲存在方法區中,非靜態儲存在堆記憶體中。
5.靜態方法中不能出現this和
super
關鍵字,在靜態方法中呼叫非靜態的成員,只能先
new乙個物件,再呼叫。
[----不能使用
this
與super
的原因:
this
指向當前類的物件,
super
指向當前類的父類,當靜態方法存在時,物件不一定存在,
this
與 super
可能沒有指向
]未完待續。。。。。。。。
靜態與非靜態的區別
1.靜態類與非靜態類 靜態類中只能包含靜態成員和靜態方法,否則會丟擲編譯錯誤 而非靜態類中可以包含非靜態成員和非靜態方法,也可以包含 靜態成員和靜態方法 靜態類不可以例項化 非靜態類可以例項化。不管是靜態類還是 非靜態類,對於靜態成員和靜態方法的呼叫都必須通過類來實現 如果乙個類只包含靜態成員和靜態...
靜態與非靜態的區別
1.靜態類與非靜態類 靜態類中只能包含靜態成員和靜態方法,否則會丟擲編譯錯誤 而非靜態類中可以包含非靜態成員和非靜態方法,也可以包含 靜態成員和靜態方法 靜態類不可以例項化 非靜態類可以例項化。不管是靜態類還是 非靜態類,對於靜態成員和靜態方法的呼叫都必須通過類來實現 如果乙個類只包含靜態成員和靜態...
靜態與非靜態的區別
最近一直在看 你必須知道的.net 一書,感覺挺不錯,現在把一些內容記錄如下 內容 1.靜態類與非靜態類 靜態類中只能包含靜態成員和靜態方法,否則會丟擲編譯錯誤 而非靜態類中可以包含非靜態成員和非靜態方法,也可以包含 靜態成員和靜態方法 靜態類不可以例項化 非靜態類可以例項化。不管是靜態類還是 非靜...