1.作用:用来初始化类、对象
2.如果有修饰词,只能是static。
3.分类:静态代码块 VS 非静态代码块
4.静态代码块
内部可以有输出语句;
随着类的加载而执行,而且只执行1次;
作用:对类的静态属性进行重新赋值。
如果类中定义了多个静态代码块,则根据声明的先后顺序而执行。
静态代码块的执行 优先于 非静态代码块
静态代码块内部,只能调用静态的属性、静态的方法,不能调用非静态的结构
5.非静态代码块
内部可以有输出语句
随着对象的创建而执行,每创建一个对象,就执行一次
作用:可以在创建对象时,对对象的属性等进行初始化。
如果类中定义了多个非静态代码块,则根据声明的先后顺序而执行。
既可以调用静态的,也可以调用非静态的。
对属性可以赋值的位置:
1.默认初始化
2.显式初始化
3.构造器初始化
4.创建对象之后,通过 对象.属性 或 对象.set属性 方法进行赋值
5.代码块中赋值
执行的先后顺序:1-2/5(根据声明的顺序)-3-4
版权声明:本文为qq_33491651原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。