类加载:静态变量默认初始化->静态变量显式初始化和静态代码块(父到子)(上到下)---new>
父类非静态代码块(上到下)->父类调用构造器->子类非静态代码块(上到下)->子类调用构造器
*静态代码块里初始化一个同名变量不会覆盖之前声明的成员变量,但不带String的赋值就可以。
class Chinese {
static {
System.out.println("1");
String country="meiguo"; //country never used
}
private static String country = "中国";
static {
System.out.println(country);
country = "meiguo"; //成功赋为meiguo
}