public class Test30 {
public static void main(String[] args) {
System.out.println(BX.c);
}
}
class AX{
static {
System.out.println("A");
}
}
class BX extends AX{
static {
System.out.println("B");
}
public final static String c="C";
}
输出:C
分析: public final static String c=“C”; final和static关键字,使得变量c在编译阶段就已经被赋值了,并存在常量池中,所以在类的加载阶段就不会触发静态块的执行
如果去掉final 则输出: A B C
分析,静态块的执行顺序,先父类,再子类