今天下午面試,HR問道:C#中靜態類或靜態方法和非靜態類靜態方法有什麼區別?
我回答是靜態的可以直接調用而非靜態的需要實例化。HR說這誰都知道,我問的是本質區別。
我當時就郁悶了,我只有8個月的編程經驗,幾乎沒用到靜態類或方法,只知道大概怎麼用,
於是只能回答說不知道,後面有問道了幾個問題,回答不理想,被PASS掉了。。
回家後上網查了下,一個需要實例化,一個直接調用這是公認的沒有問題,我把剩下的粘貼
出來供需要的人參考
靜態屬於類定義, 動態屬於對象定義
肯定是先定義類,才能定義對象, 所以靜態要先於動態, 而且靜態只能有一份, 動態則沒有限制.
==============================================
靜態運行時被加載一次。
非靜態每次運行都被加載
靜態生命周期與類相同
===============================================
靜態變量和方法屬於類,在調用類的時候就創建;
在內存中只有一份,不會隨著對象的增加而增加;
動態變量和方法屬於對象,會隨著對象的增加而增加