首頁>Club>
10
回覆列表
  • 1 # 35歲的IT男

    要知道什麼時候使用靜態方法,先需要了解靜態方法的定義。

    靜態方法或變數是使用Static 修飾的方法或變數.靜態資料存在於記憶體中的方法區,資料載入以後可直接使用.如:A 類中有一個非靜態的 B 方法和靜態的 C 方法,那麼呼叫B方法時需要建立A類的物件,而呼叫C方法時可直接類名加方法名呼叫,無需新建物件. 靜態方法始終佔據記憶體空間,呼叫方便.非靜態相反,具體看情況你自己選擇

    例項方法是指需要把類例項化後才能被呼叫的方法,離開了例項的作用範圍,例項方法會隨著例項被回收而無法呼叫。

    靜態方法和例項方法的使用場景:

    1、從邏輯關係來看

    若方法與類的例項不存在邏輯上的聯絡,那麼用靜態方法。反之則最好使用例項化方法。

    2、從效能角度:

    若方法經常被呼叫,則用靜態方法更佳,因為這樣可以避免頻繁地例項化物件導致的資源佔用,提高效能。

    然而,由於靜態的東西,在構造的時候是在堆中聲稱的,在結束之前不會被釋放與改變,會一直佔用記憶體空間,所以不宜有過多的靜態成員。因此若方法不會經常被呼叫,則使用例項方法可能會更好。

    3、從執行緒併發的角度考慮:

    要考慮方法是否存在嚴重的併發,如果併發的可能性很大,則不適宜使用靜態方法。

    如果併發的可能性很小,或者透過簡單的同步操作可以保證執行緒安全,那就可以考慮使用靜態方法,這種情況下,靜態方法要更快,更方便。

  • 中秋節和大豐收的關聯?
  • 人喝的酵素怎麼做?