关于属性赋值的操作(执行顺序):
1.默认的初始化
2.显式的初始化或代码块(两个结构按照顺序执行)
3.构造器中
4.通过方法堆对象的相应属性进行修改
初始化块(或代码块)
1.代码如果有修饰的话,只能用static
静态代码块
1.随着类的加载而加载,而且静态代码块只加载一次
2.可以有输出语句
3.多个静态代码块之间按照顺序结构执行
4.静态代码块的执行遭遇非静态代码块
5.静态代码块内只能执行静态的结构(类属性,类方法)
非静态代码块
1.可以对类(静态的 & 非静态的)的属性进行初始化
2.里面可以有输出语句
3.一个类中可以有多个非静态代码块,多个代码块之间按照顺序结构执行
4.每创建一个类的对象,非静态代码块就加载一次
5.非静态代码块的执行早于构造器