Java初始化顺序

  • 总是先初始化字段,字段定义的先后顺序决定了初始化的顺序,然后再初始化构造器。
  • static数据的初始化:
    • 加上static限定的字段,是所谓的类字段,也就是说这个字段的拥有者不是对象而是类。无论创建多少对象,static数据都只有一份。
    • 类内总是先初始化static字段,再初始化一般字段。接着初始化构造器。但是如果不创建这个类的对象,那这个对象是不会进行初始化的,并且只执行一次。
  • 静态块:
    • 把多个初始化语句包在一个static花括号里,叫做静态块,其实就是把多个static合在一起写了,本质是一样的。只有首次创建对象或者首次访问类的字段时才会执行,而且仅仅一次。
原文地址:https://www.cnblogs.com/NewDolphin/p/5392686.html