Java笔试题学习之30(静态块,静态属性,final关键字)

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
【Java笔试题学习之30(静态块,静态属性,final关键字)】分析:
public final static String c=“C”; final和static关键字,使得变量c在编译阶段就已经被赋值了,并存在常量池中,所以在类的加载阶段就不会触发静态块的执行
如果去掉final
则输出:
A
B
C
分析,静态块的执行顺序,先父类,再子类

    推荐阅读