public class Test {
static int count=0;
// static String name = "hhh";
static{
System.out.println("------static------");
count = 1;
name = "uuu";
}
static String name = "hhh";
public static void main(String[] args) {
Test t = new Test();
System.out.println(t.name);
System.out.println(t.count);
}
}
------static------
uuu
1
输出结果将会是这样子,输出结果会是1 和uuu ,但是如果在name声明放在前面的话那么就会出现 1 和hhh 为什么会这样呢
类执行的过程中首先为类变量分配内存空间,再按照源代码的执行顺序执行静态初始化块中所指定的初始值和定义类变量时所
指定的初始值