对这个程序的结果不太明白?

public class Pass{
static int j=20;
public static void main(String argv[]){
 int i=10;
         Pass p = new Pass();
         p.amethod(i);
System.out.println(i);
         System.out.println(j);
     }
 public void amethod(int x){
 x=x*2;
j=j*2;
     }
}

为什么结果是10和40呢?

i的值没有改变,但是j的值*2了?

amethod这个方法中没有对i进行操作,只是把i的值传给了形参x 所以 i不变,但是j是一个类变量,在amthod这个方法中做了✘2操作 所以j变两倍了