静态关系

请帮我看看这个程序为什么输出是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());
}
}

看看 thinking in java书籍中,这本书籍比较喜欢炫耀这些语言级别的偏门

类的static变量值只有一个,不变。