代码块(初始化块)
形式:{
}
1、代码块的作用:用来初始化类、对象
2、代码块如果使用修饰的话只能使用static
3、分类:静态代码块和非静态代码块
4、静态代码块:
①内部可以有输出语句
②随着类的加载而执行,而且只执行一次
③作用:初始化类的信息
④如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行
⑤静态代码块的执行要优先于非静态代码块
⑥静态代码块内只能调用静态的属性、静态的方法,不能调用非静态的结构
5、非静态代码块:
①内部可以有输出语句
②随着对象的创建而执行
③每创建一个对象,就执行一次非静态代码块
④作用:可以在创建对象时,对对象的属性进行初始化
⑤如果一个类中定义了多个非静态代码块,则按照声明的先后顺序执行
⑥非静态代码块内能调用静态的属性、静态的方法,或非静态的属性、方法
对属性可以赋值的位置:
1、默认初始化
2、显式初始化
3、构造器中的初始化
4、有了对象之后可以通过"对象.属性"或"对象.方法"的方式,进行赋值
5、代码块中赋值
执行先后顺序:1—>2—>3—>4