创建对象的执行顺序:
父类静态代码块
子类静态代码块
父类无参构造体
子类无参构造体
静态代码块: 在类初始化时即被调用
类.class 不会引发类的初始化(仅获得类的引用)
Class.forName("**.**.className")会引发类的初始化
“static final”是编译器常量,也不会引发类的初始化
"static" 常量被访问时,总是要求在它被读取之前,要先进行链接(为这个域分配存储空间)和初始化(初始化该存储空间)。
父类静态代码块
子类静态代码块
父类无参构造体
子类无参构造体
静态代码块: 在类初始化时即被调用
类.class 不会引发类的初始化(仅获得类的引用)
Class.forName("**.**.className")会引发类的初始化
“static final”是编译器常量,也不会引发类的初始化
"static" 常量被访问时,总是要求在它被读取之前,要先进行链接(为这个域分配存储空间)和初始化(初始化该存储空间)。