Java中的静态/实例初始化块按照什么顺序运行?
package pkg;public class LoadTest { public static void main(String[] args) { System.out.println("START"); new Child(); System.out.println("END"); }}class Parent extends Grandparent { // Instance init block { System.out.println("instance - parent"); } // Constructor public Parent() { System.out.println("constructor - parent"); } // Static init block static { System.out.println("static - parent"); }}class Grandparent { // Static init block static { System.out.println("static - grandparent"); } // Instance init block { System.out.println("instance - grandparent"); } // Constructor public Grandparent() { System.out.println("constructor - grandparent"); }}class Child extends Parent { // Constructor public Child() { System.out.println("constructor - child"); } // Static init block static { System.out.println("static - child"); } // Instance init block { System.out.println("instance - child"); }}
启动 静态祖父母 静态亲本 静态子 实例-祖父母 构造师-祖父母 实例-父母 构造函数-父 实例-儿童 构造函数-子 端部
class IAmAClassThatIsNeverUsed { // Constructor public IAmAClassThatIsNeverUsed() { System.out.println("constructor - IAACTINU"); } // Instance init block { System.out.println("instance - IAACTINU"); } // Static init block static { System.out.println("static - IAACTINU"); }}
qq_笑_17
慕标5832272
摇曳的蔷薇
相关分类