读书人

静态方法与非静态方法的内存分配与性能

发布时间: 2012-02-10 21:27:42 作者: rapoo

静态方法与非静态方法的内存分配与性能
class A1
{
private String x;
private String y;
private String z;

public String X
{
get { return x; }
set { x = value; }
}

public String Y
{
get { return y; }
set { y = value; }
}

public String Z
{
get { return z; }
set { z = value; }
}

public String Method1()
{
return X + Y + Z;
}
}

下面把A1改为

class A2
{
private String x;
private String y;
private String z;

public String X
{
get { return x; }
set { x = value; }
}

public String Y
{
get { return y; }
set { y = value; }
}

public String Z
{
get { return z; }
set { z = value; }
}

public static String Method1(A2 a2)
{
return a2.X + a2.Y + a2.Z;
}
}


现在实例化A1,A2各1000个,在内存分配上他们有什么不同吗,非静态方法的指令是不是每个对象都要自己维护?

[解决办法]
方法只与类有关,与实例无关
不管有多少实例,方法是由一份拷贝
静态方法与非静态方法没有任何区别

读书人网 >C#

热点推荐