例子
public class Test {
static {
int x = 5;
}
static int x,y;
public static void main(String[] args) {
x--;
y=x++ + ++x;
System.out.println(x+"****"+y);
System.out.println(x+y+ ++x);
}
}
结果
结果是:
1****0
3
为什么
java群里同志问了,刚开始很诧异。
静态代码块相当于一个方法,x相当于“方法”里面的局部变量,和类成员不会冲突,mian里面直接调用x相当于this.x,x不初始化默认0.所以结果如上。