静态变量和函数

时间:2010-11-18 01:35:32

标签: .net

实例和静态变量/函数之间有什么区别。使用静态变量是否有任何性能提升。在哪些条件下我们应该使用静态而不是实例变量/函数。我不确定何时应该使用静态变量/函数而不是实例

1 个答案:

答案 0 :(得分:2)

静态成员属于该类,而实例成员属于该类的实例(对象)。只有一个静态变量的副本。

如果符合以下条件,方法可以是静态的:

  1. 他们没有引用他们班级的任何非静态成员,
  2. 它们未定义为实现接口或覆盖超类中的方法。
  3. 静态方法没有隐藏的this参数,因此它们需要的堆栈空间更少。但静态方法本身并不快。

    如果您只需要字段/属性的一个“副本”,则只应将字段/属性设置为静态。如果您希望类的每个对象都拥有自己的字段或属性副本,则它不应该是静态的。