代码块的作用:初始化类(static)、对象。
只能用static修饰。
静态代码块
随类的加载而执行,因为类只加载一次,所以静态代码块也只执行一次。
类似于方法体,可以执行输出语句。
只能对静态成员进行访问。
一个类中可以定义多个静态代码块,执行顺序为定义的顺序。
非静态代码块
随对象的创建而执行,每创建一次对象就执行一次。
多个非静态代码块的执行顺序也为定义顺序。
对象创建时属性赋值的先后顺序:①默认初始化 ②显式初始化/代码块初始化(与代码的先后顺序有关)③构造器中初始化
④通过对象初始化
总结:实际开发中代码块用得并不多,我觉得要用的话也是用静态代码块,非静态代码块直接就可以写在构造方法里。