我需要解释以下代码的输出:
class Stats
{
static int a = 10;
int b = 20;
void printMe()
{
System.out.println(a+b);
}
}
public class Static
{
public static void main(String args[])
{
Stats s1 = new Stats();
Stats s2 = new Stats();
s1.b = 30;
s1.printMe();
s1.a = 20;
s2.printMe();
}
}
输出:40 40
我预计它是 40 和 50,因为应该只有一个静态变量 'a' 的副本,它通过引用 's1' 修改为 20。