静态关系

05-05-18 cclalzh007
请帮我看看这个程序为什么输出是2,2,11,12四个数哦?

m1.setClassVar(1);

m2.setClassVar(2);

System.out.println("m1.classVar = "+m1.getClassVar()+"m2.classVar = "+m2.getClassVar());

这里m1.setClassVar(1);输入的是1但是输出为什么是2咯?

还有就是静态方法调用与实例方法调用有什么不同咯?

谢谢 程序如下:

class StaticAndInstance

{

static int classVar;

int instanceVar;

static void setClassVar(int i)

{

classVar = i;

}

static int getClassVar()

{

return classVar;

}

void setIntanceVar(int i)

{

classVar = i;

instanceVar = i;

}

int getInstanceVar()

{

return instanceVar;

}

}

public class StaticAndInstanceTest

{

public static void main(String args[])

{

StaticAndInstance m1 = new StaticAndInstance();

StaticAndInstance m2 = new StaticAndInstance();

m1.setClassVar(1);

m2.setClassVar(2);

System.out.println("m1.classVar = "+m1.getClassVar()+"m2.classVar = "+m2.getClassVar());

m1.setIntanceVar(11);

m2.setIntanceVar(12);

System.out.println("m1.InstanceVar = "+m1.getInstanceVar()+"m2.InstanceVar = "+m2.getInstanceVar());

}

}

banq
2005-05-25 08:32
看看 thinking in java书籍中,这本书籍比较喜欢炫耀这些语言级别的偏门

极峰
2005-05-26 10:58
类的static变量值只有一个,不变。

猜你喜欢