简单了解java类加载的运行顺序
进入main方法的类时的操作
- 以main方法的类作为入口
- 给本类static修饰的成员变量赋一个默认值,如果还被final修饰,就赋值为定义的那个值,执行本类的static代码块(先执行static代码块还是成员变量由在代码中的位置决定)
- 其次是static方法
当使用 类的static属性 或者static方法 或者new一个对象时会触发类加载
当new一个时,如果父类还没有被初始化,会先对其父类先初始化
如果已经初始化了,会先执行父类的构造器
构造器初始化:
成员变量的初始化会在每一次new对象(调用方法)时发生,但构造器只会初始化一次,也就是说对于已经完成初始化的类来说,在次new对象的时候,不会在执行父类构造器,然而类成员还会在次初始化.
在类的内部,变量定义的先后顺序决定了初始化的顺序,即使变量的定义散部于方法或者构造器之间,仍然会在任何方法或者构造器被调用之前得到初始化.对象的引用也算变量的定义
标签:初始化,顺序,变量,构造,static,new,执行,加载 From: https://www.cnblogs.com/happy12123/p/16837627.html