输出为什么是5and6呢 为什么不是10and6呢

public class Main {

static int j = 3;
public static void main(String args[]) {
    int i = 5;
    Main p = new Main();
    p.amethod(i);
    System.out.println(i + " and " + j);
}
public void amethod(int x) {
    x = x * 2;
    j = j * 2;

}
}

调用amethod之后,在这个函数内部,x=10,但是它没有返回;当这个函数执行完后,x的内存就被释放了,x就不存在了,因此对i没有影响,i还是等于5。j因为被声明为static,它是直到这个程序结束才会被释放,所以j=j*2=6,所以是5and6