静态定义和使用方法而不是使用实例化类中的方法是否存在内存或性能差异?当方法不是静态的时,方法本身是否会占用类的每个实例的内存?
也许在静态方法中声明的任何变量都是非线程安全的?
/// <summary>
/// A class using instance methods (non-static)
/// </summary>
public class Junk
{
public int x {get; protected set;}
public Junk(int x = 0)
{
this.x = x;
}
public void Increment()
{
this.x++;
}
}
相对
/// <summary>
/// A class using static methods
/// </summary>
public class Junk
{
public int x {get; protected set;}
public Junk(int x = 0)
{
this.x = x;
}
public static void Increment(Junk thisJunk)
{
thisJunk.x++;
}
}