2010-11-18 130 views
0

實例和靜態變量/函數有什麼區別。是否有任何使用靜態變量的性能增益。在哪些條件中,我們應該使用靜態而不是實例變量/函數。我不知道何時應該使用靜態變量/函數而不是實例變量靜態變量和函數

回答

2

靜態成員屬於該類,而實例成員屬於該類的實例(對象)。只會有一個靜態變量的副本。

方法可以作出靜若:

  1. 他們不引用其類的任何非靜態成員,並
  2. 他們不定義爲實現一個接口或重寫超類中的方法。

靜態方法沒有隱藏的this參數,所以它們需要更少的堆棧空間。但靜態方法本質上並不快。

只有當字段/屬性需要一個「副本」時,字段/屬性才應該是靜態的。如果你想讓你的類的每個對象都有自己的字段或屬性副本,它不應該是靜態的。