初始化块分为类初始化块(又称静态初始化块,用static修饰)和普通初始化块两种。
类初始化块初始化类变量,在类加载时执行。普通初始化块初始化类的实例变量,在对象被创建时执行。
初始化块总是先于构造方法执行,其实java初始化块是一种假象,在java类编译后,初始化块会消失,初始化块中的代码会被插入构造方法中,初始化块中的语句被插入到构造方法的所有语句之前。
静态初始化块初始化类成员和类成员变量在声明时指定的值都是类成员的初始化形式,两种方式的执行顺序和在源文件中出现的次序相同。
初始化块分为类初始化块(又称静态初始化块,用static修饰)和普通初始化块两种。
类初始化块初始化类变量,在类加载时执行。普通初始化块初始化类的实例变量,在对象被创建时执行。
初始化块总是先于构造方法执行,其实java初始化块是一种假象,在java类编译后,初始化块会消失,初始化块中的代码会被插入构造方法中,初始化块中的语句被插入到构造方法的所有语句之前。
静态初始化块初始化类成员和类成员变量在声明时指定的值都是类成员的初始化形式,两种方式的执行顺序和在源文件中出现的次序相同。