静态方法与非静态方法的内存分配与性能
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个,在内存分配上他们有什么不同吗,非静态方法的指令是不是每个对象都要自己维护?
------解决方案--------------------方法只与类有关,与实例无关
不管有多少实例,方法是由一份拷贝
静态方法与非静态方法没有任何区别