方法块:
修饰符只能用static修饰:
静态代码块: static{}
- 加载一次,
- 加载早于非静态,早于对象的创建,随着类的加载而加载
- 多个静态代码块按顺序执行
- 只能对于静态的属性进行赋值
非静态代码块:{}
- 可以对属性(静态|非静态)或者方法(静态|非静态)进行初始化操作
- 里面可以有输出语句
- 一个类可以有多个非静态代码块,多个代码块之间顺序执行
- 每创建一个类的对象,非静态代码块执行一次
- 非静态代码块早于构造器
执行顺序:默认初始化 ->显示初始化|代码块初始化(按照先后顺序)->构造器