代码块(初始化块)

形式:{

}

1、代码块的作用:用来初始化类、对象

2、代码块如果使用修饰的话只能使用static

3、分类:静态代码块和非静态代码块

4、静态代码块:

①内部可以有输出语句

②随着类的加载而执行,而且只执行一次

③作用:初始化类的信息

④如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行

⑤静态代码块的执行要优先于非静态代码块

⑥静态代码块内只能调用静态的属性、静态的方法,不能调用非静态的结构

5、非静态代码块:

  1. ①内部可以有输出语句

②随着对象的创建而执行

③每创建一个对象,就执行一次非静态代码块

  1. ④作用:可以在创建对象时,对对象的属性进行初始化
  2. ⑤如果一个类中定义了多个非静态代码块,则按照声明的先后顺序执行

⑥非静态代码块内能调用静态的属性、静态的方法,或非静态的属性、方法

对属性可以赋值的位置:

  1. 1、默认初始化
  2. 2、显式初始化
  3. 3、构造器中的初始化
  4. 4、有了对象之后可以通过"对象.属性""对象.方法"的方式,进行赋值
  5. 5、代码块中赋值

执行先后顺序:1—>2—>3—>4