代码块(初始化块)的做用:对java对象进行初始化。java
程序的执行顺序对象
一、声明成员变量的默认值;变量
二、显式初始化、多个初始化块依次被执行(同级别下按前后顺序执行);程序
三、构造方法再对成员进行赋值操做;方法
一个类中的初始化块如有修饰符,则只能被static修饰,称为静态代码块(static block),当类被载入时,类属性的声明和静态代码块按前后顺序执行,且只执行一次。static
非静态代码块:block
能够有输出语句;
能够对类的属性声明进行初始化操做;
能够调用静态和非静态的变量或方法;
如有多个非静态的代码块,那么按照从上到下的顺序一次执行;
每次建立对象的时候,都会执行一次;
静态代码块:
能够有输出语句;
能够对类的属性声明进行初始化操做;
不能够对非静态的属性初始化;
静态代码块的执行要先于非静态代码块;
静态代码块只执行一次;
在匿名内部类中,用代码块代替构造方法。