Java 静态代码块和非静态代码块

Java中的静态代码块是在虚拟机加载类的时候,就执行的,而且只执行一次。如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。

非静态代码块是在类new一个实例的时候执行,而且是每次new对象实例都会执行。

代码的执行顺序

  1. 主调类的静态代码块
  2. 对象父类的静态代码块
  3. 对象的静态代码块
  4. 对象父类的非静态代码块
  5. 对象父类的构造函数
  6. 对象的非静态代码块
  7. 对象的构造函数

猜你喜欢

转载自www.cnblogs.com/luoyunyong/p/9029828.html