x++ , ++x , static

public class Test {
    static int x, y;
    static {
        x = 1;
        y = 2;
    }

    public static void main(String[] args) {
        x--;
        myMethod();
    }

    public static void myMethod() {
        y = x++ + ++x;
    }
}

这段代码的执行结果是2,不是6,因为static里面是定义的x,y执行之后并没有改变类里面定义的x,y的值;如果这个x,y是1,2然后开始执行代码的话,结果就是6

你可能感兴趣的:(x++ , ++x , static)