1、静态代码块
- Java中的静态代码块是在虚拟机加载类的时候,就执行的,而且只执行一次。如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。
2、非静态代码块
- 非静态代码块是在类new一个实例的时候执行,而且是每次new对象实例都会执行。
注意 :非静态代码块可在普通方法中定义(不过作用不大);而静态代码块不行,只能在类中定义。
3、代码执行顺序:
- 父类静态代码块 -> 子类静态代码块
- -> 父类非静态代码块 -> 父类构造函数
- -> 子类非静态代码块 -> 子类构造函数
注意整体:静态代码块—>非静态代码块—>构造方法,如果同事有多个同种变量,按照代码顺序执行就行。