了如指掌:
1.代码块:在创建对象时自动依次执行,优先于构造方法
2.静态代码块在类加载时自动执行,静态方法则必须要调用才能执行,但是在类加载时便加载好
3.触发类加载的时机:
a.new子/父类对象
b.调用静态属性、方法、
d.class类中的class.forname()方法
4.final
a.类——不能被继承
b.方法——不能被重写
c.属性——常量(必须被赋值,基本类型常量值不能变,引用类型常量地址不能变)
非静态常量赋值时机:
a.直接赋值
b.代码块
c.构造方法
静态常量赋值时机:
a.直接赋值
b.静态代码块