/**
特性
* 静态方法的调用会加载类,类加载会执行静态块。
* 静态属性的获取也会加载类,类加载执行了静态块。
* 静态块和静态属性的顺序是代码编写的先后顺序。
证明:
* 非静态块和非静态属性的顺序也是代码编写的先后顺序。
* 构造方法在非静态块和非静态属性之后。
* 非静态块和非静态属性在静态块和静态属性之后
* 通过以上得出 结论: 对象的创建会按照必然顺序执行不同区域的命令
* 静态属性或者静态块-->非静态属性或者非静态块-->构造
*
/** 方法或者块中可否再次包含块?
* 可以包含非静态块,但不可以包含静态块。块是一块区域,在区域中可以定义自己的变量,外界访问不到。
* 方法中包含块,就类似于将方法分成几块单独的区域。块中包含块,就类似于将自己再次划分。
* @author silone
*
*/
* 静态方法的调用会加载类,类加载会执行静态块。
* 静态属性的获取也会加载类,类加载执行了静态块。
* 静态块和静态属性的顺序是代码编写的先后顺序。
证明:
![图片](https://i-blog.csdnimg.cn/blog_migrate/83a80d45bf9f89e37797903a6cc467d5.jpeg)
![图片](https://i-blog.csdnimg.cn/blog_migrate/9a0b7e96de7c049530d44921b19fdc2d.jpeg)
* 非静态块和非静态属性的顺序也是代码编写的先后顺序。
* 构造方法在非静态块和非静态属性之后。
* 非静态块和非静态属性在静态块和静态属性之后
* 通过以上得出 结论: 对象的创建会按照必然顺序执行不同区域的命令
* 静态属性或者静态块-->非静态属性或者非静态块-->构造
*
/** 方法或者块中可否再次包含块?
* 可以包含非静态块,但不可以包含静态块。块是一块区域,在区域中可以定义自己的变量,外界访问不到。
* 方法中包含块,就类似于将方法分成几块单独的区域。块中包含块,就类似于将自己再次划分。
* @author silone
*
*/